View Issue Details

IDProjectCategoryView StatusLast Update
0003895Far Manager_Commonpublic2022-04-13 08:12
Reportermineevks Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status newResolutionopen 
Platformx64OSWindowsOS Version10
Product Version3.0 
Summary0003895: High cpu usage
Description"Far manager" is completly consumes one cpu core.
I tried to install latest 32 or 64 bit versions, but problem exists for all.

The problem does not start immediately, but after a while, about an hour after the program starts.
Steps To Reproduce1. Download https://www.farmanager.com/download.php?l=ru
Far Manager v3.0 build 5858 x86 (2021-07-27)
or
Far Manager v3.0 build 5858 x64 (2021-07-27)

2. Start "Far manager"
3. Wait for an hour, approximatelly.

4. "Far.exe" process consumes 25% of cpu, please see prinscreen.
TagsNo tags attached.
Build

Activities

mineevks

2021-08-19 09:26

reporter  

far-high-cpu-load.PNG (23,061 bytes)   
far-high-cpu-load.PNG (23,061 bytes)   

DrKnS

2021-08-19 09:43

administrator   bugnote:0017150

Please check the latest available version.

mineevks

2021-08-20 09:12

reporter   bugnote:0017151

I tried the latest versions:
Far Manager v3.0 build 5858 x86 (2021-07-27)
Far Manager v3.0 build 5858 x64 (2021-07-27)

but it didn't help "Far.exe" process consumes 25% of cpu.
I can upload dump file if it will help.

DrKnS

2021-08-20 09:18

administrator   bugnote:0017152

dl.png (41,588 bytes)   
dl.png (41,588 bytes)   

DrKnS

2021-08-20 09:38

administrator   bugnote:0017153

Yes, a minidump might help too, please do.

mineevks

2021-08-24 09:20

reporter   bugnote:0017154

Last edited: 2021-08-24 09:26

I tried to install latest Far Manager, version 3.0.5883.0 x64
but the problem with high CPU load still exists,
please see the dump of far.exe
https://drive.google.com/drive/folders/1hWbyAFAw85g1Dh0tVzyOvlOwqkp7XdSG?usp=sharing

However with this Far version cpu load changed to constant value 17%. (instead of 25% cpu load with previos stable build 5858)

mineevks

2021-08-24 09:22

reporter   bugnote:0017155

Last edited: 2021-08-24 09:27

Also I found an old Far version Far30b5577.x86.20200327
Tested it, and it was fine, without high cpu load (cpu load shows 0% ).

DrKnS

2021-08-24 10:15

administrator   bugnote:0017156

Unfortunately 5577 was almost 1.5 years ago and there was a lot of changes since then.
Narrowing the range between 5577 and 5858 further down might help.

Also, given that no one else reported the same issue, it could be specific to your system, e.g. something is interfering with some other component. In the dump I see loaded modules of something called "Sentinel One", which is probably an antivirus. Try without it if possible, antiviruses are well known for causing unexplainable issues in 3rd party software.

Px

2021-08-24 15:57

reporter   bugnote:0017157

@mineevks
You may also try the following:
1. Download Process Explorer - https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
2. Run it, in File menu press "Show Details for All Processes".
3. In Options menu press "Configure Symbols", in Symbols path select folder with your Far install, where you put the pdb file.
4. Now double click on Far process, which consumes a lot of CPU, go to Threads tab, it will show a warning about windbg.dll - ignore it.
5. You will see a list of Far threads, there should be the one, which uses your CPU, double click on it (or press Stack button on right).
If everything is done right, you should get a stack with readable Far functions names, like

Far!std::_C__Invoker_pmf_pointer::_Call+0x6
Far!std::_C_invoke+0x9
Far!std::_Apply_impl+0x9
Far!std::apply+0x9
Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0x9
Far!std::_Invoker_functor::_Call+0x9
Far!std::invoke+0x9

Post it here, maybe it would help to understand what is wrong in your case.

Otherwise the only option, as DrKnS wrote above, would be to test builds between 5577 and 5858 to find the first one where the issue appeared. To speed up that process you can use bisection (or binary search): pick the build between those((5577+5858)/2=5717), and test it. If the issue is present, pick the next build between 5577 and tested build, if not, then between tested build and 5858. Repeat until you'll get the first problematic build number :)

mineevks

2021-08-30 10:31

reporter   bugnote:0017158

Thank you for you help,
you were right,
the problems it seems been with "Sentinel One" antivirus (I didn't use it before, but I should acording to my security policy).
Also I will try with Process Explorer and write to you.

matik

2021-09-29 10:22

reporter   bugnote:0017172

Last edited: 2021-09-29 15:23

I noticed the same issue after upgrading to latest, from a year or more old version.
I do not have Sentinel antivirus, but default Windows 10 with Defender.

The CPU usage goes up only after a time, i think it is connected to either sleep mode or longer time of inactivity. IE i come back to PC 1-2 hours later, then Far.exe instances are not visible anymore in TaskBar, but they are visible in Task Manager and each instance is taking near 100% of a single core.

I created dump in Task Manager and desymbolicated all threads.
Please see attached file, does it give any idea what may be wrong or looping?
For me looked like "main_seh" several times in stack, is it possible that exception handler goes to loop somehow?
threads.txt (24,744 bytes)   
0:000> ~*k

.  0  Id: 8f4c.a378 Suspend: 0 Teb: 0000004c`600a5000 Unfrozen
 # Child-SP          RetAddr               Call Site
00 0000004c`5ffbd968 00007ff8`66971751     ntdll!ZwDeviceIoControlFile+0x14 [minkernel\ntdll\daytona\objfre\amd64\usrstubs.asm @ 235] 
01 0000004c`5ffbd970 00007ff8`6697157d     KERNELBASE!ConsoleCallServerGeneric+0xe9 [minkernel\console\clientutil\callserver.c @ 204] 
02 (Inline Function) --------`--------     KERNELBASE!ConsoleCallServer+0x43 [minkernel\console\clientutil\callserver.c @ 323] 
03 0000004c`5ffbdad0 00007ff6`1ece4276     KERNELBASE!SetConsoleMode+0x4d [minkernel\console\client\getset.c @ 594] 
04 (Inline Function) --------`--------     Far!console_detail::console::SetMode+0xb [C:\src\far\console.cpp @ 522] 
05 (Inline Function) --------`--------     Far!ChangeConsoleMode+0x26 [C:\src\far\interf.cpp @ 497] 
06 0000004c`5ffbdb50 00007ff6`1eceafa5     Far!SetFarConsoleMode+0x1e6 [C:\src\far\interf.cpp @ 488] 
07 0000004c`5ffbdbb0 00007ff6`1ecebcda     Far!GetInputRecordImpl+0x215 [C:\src\far\keyboard.cpp @ 895] 
08 0000004c`5ffbdf80 00007ff6`1ed1db0f     Far!GetInputRecord+0x2a [C:\src\far\keyboard.cpp @ 1123] 
09 0000004c`5ffbe010 00007ff6`1ed1daa6     Far!Manager::ProcessMainLoop+0x3f [C:\src\far\manager.cpp @ 620] 
0a 0000004c`5ffbe0e0 00007ff6`1ed154a4     Far!Manager::EnterMainLoop+0xb6 [C:\src\far\manager.cpp @ 612] 
0b 0000004c`5ffbe120 00007ff6`1ed1a165     Far!MainProcess+0xe54 [C:\src\far\main.cpp @ 319] 
0c (Inline Function) --------`--------     Far!mainImpl::__l2::<lambda_4>::operator()+0x28 [C:\src\far\main.cpp @ 811] 
0d (Inline Function) --------`--------     Far!cpp_try::__l7::<lambda_2>::operator()+0x2c [C:\src\far\exception_handler.hpp @ 174] 
0e (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x2c [c:\VC_current\include\type_traits @ 1579] 
0f (Inline Function) --------`--------     Far!std::invoke+0x2c [c:\VC_current\include\type_traits @ 1579] 
10 (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::{ctor}::__l1::<lambda_4_>::operator()+0x2c [C:\src\far\common\function_ref.hpp @ 53] 
11 0000004c`5ffbe730 00007ff6`1ec0ba51     Far!_Closure_wrapper_7e43c91d_4::<lambda_invoker_cdecl>+0x35 [C:\src\far\common\function_ref.hpp @ 49] 
12 (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
13 0000004c`5ffbe770 00007ff6`1ed1950c     Far!detail::cpp_try+0x31 [C:\src\far\exception_handler.cpp @ 1171] 
14 0000004c`5ffbe7b0 00007ff6`1ed18f44     Far!cpp_try<`mainImpl'::`2'::<lambda_4>,`mainImpl'::`2'::<lambda_5>,`mainImpl'::`2'::<lambda_6> >+0x8c [C:\src\far\exception_handler.hpp @ 185] 
15 0000004c`5ffbe840 00007ff6`1ed19828     Far!mainImpl+0x15c4 [C:\src\far\main.cpp @ 808] 
16 0000004c`5ffbf5d0 00007ff6`1ed1a1e2     Far!`wmain_seh'::`2'::<lambda_1>::operator()+0x38 [C:\src\far\main.cpp @ 876] 
17 (Inline Function) --------`--------     Far!cpp_try::__l7::<lambda_2>::operator()+0x9 [C:\src\far\exception_handler.hpp @ 174] 
18 (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x9 [c:\VC_current\include\type_traits @ 1579] 
19 (Inline Function) --------`--------     Far!std::invoke+0x9 [c:\VC_current\include\type_traits @ 1579] 
1a (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::{ctor}::__l1::<lambda_9_>::operator()+0x9 [C:\src\far\common\function_ref.hpp @ 53] 
1b 0000004c`5ffbf620 00007ff6`1ec0ba51     Far!_Closure_wrapper_7e43c91d_9::<lambda_invoker_cdecl>+0x12 [C:\src\far\common\function_ref.hpp @ 49] 
1c (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
1d 0000004c`5ffbf650 00007ff6`1ed1994c     Far!detail::cpp_try+0x31 [C:\src\far\exception_handler.cpp @ 1171] 
1e 0000004c`5ffbf690 00007ff6`1ed19772     Far!cpp_try<`wmain_seh'::`2'::<lambda_1>,`wmain_seh'::`2'::<lambda_2>,`wmain_seh'::`2'::<lambda_3> >+0x8c [C:\src\far\exception_handler.hpp @ 185] 
1f 0000004c`5ffbf720 00007ff6`1ed1a21e     Far!wmain_seh+0x132 [C:\src\far\main.cpp @ 871] 
20 (Inline Function) --------`--------     Far!main::__l2::<lambda_1>::operator()+0x5 [C:\src\far\main.cpp @ 900] 
21 (Inline Function) --------`--------     Far!seh_try::__l7::<lambda_1>::operator()+0x5 [C:\src\far\exception_handler.hpp @ 210] 
22 (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x5 [c:\VC_current\include\type_traits @ 1579] 
23 (Inline Function) --------`--------     Far!std::invoke+0x5 [c:\VC_current\include\type_traits @ 1579] 
24 (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::{ctor}::__l1::<lambda_11_>::operator()+0x5 [C:\src\far\common\function_ref.hpp @ 53] 
25 0000004c`5ffbf7e0 00007ff6`1ec0ba8d     Far!_Closure_wrapper_7e43c91d_11::<lambda_invoker_cdecl>+0xe [C:\src\far\common\function_ref.hpp @ 49] 
26 (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
27 0000004c`5ffbf810 00007ff6`1ed19a4e     Far!detail::seh_try+0x1d [C:\src\far\exception_handler.cpp @ 1211] 
28 (Inline Function) --------`--------     Far!seh_try+0x9d [C:\src\far\exception_handler.hpp @ 210] 
29 (Inline Function) --------`--------     Far!seh_try_with_ui+0x9d [C:\src\far\exception_handler.hpp @ 219] 
2a 0000004c`5ffbf850 00007ff6`1ee21020     Far!main+0xbe [C:\src\far\main.cpp @ 897] 
2b (Inline Function) --------`--------     Far!invoke_main+0x22 [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78] 
2c 0000004c`5ffbf8f0 00007ff8`67417034     Far!__scrt_common_main_seh+0x10c [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
2d 0000004c`5ffbf930 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
2e 0000004c`5ffbf960 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   1  Id: 8f4c.ad90 Suspend: 0 Teb: 0000004c`600ad000 Unfrozen ""
 # Child-SP          RetAddr               Call Site
00 0000004c`605ff8f8 00007ff8`675b1f0e     win32u!ZwUserGetMessage+0x14 [onecoreuap\windows\core\umode\moderncore\objfre\amd64\usrstubs.asm @ 190] 
01 0000004c`605ff900 00007ff6`1ee1f2c2     user32!GetMessageW+0x2e [onecoreuap\internal\windows\inc\private\core\ntuser\client\ntcftxt.h @ 538] 
02 0000004c`605ff960 00007ff6`1ee1f75b     Far!wm_listener::WindowThreadRoutine+0x492 [C:\src\far\wm_listener.cpp @ 205] 
03 (Inline Function) --------`--------     Far!std::_C__Invoker_pmf_pointer::_Call+0xa [c:\VC_current\include\type_traits @ 1583] 
04 (Inline Function) --------`--------     Far!std::_C_invoke+0xd [c:\VC_current\include\type_traits @ 1583] 
05 (Inline Function) --------`--------     Far!std::_Apply_impl+0xd [c:\VC_current\include\tuple @ 926] 
06 (Inline Function) --------`--------     Far!std::apply+0xd [c:\VC_current\include\tuple @ 932] 
07 (Inline Function) --------`--------     Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0xd [C:\src\far\platform.concurrency.hpp @ 99] 
08 (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0xd [c:\VC_current\include\type_traits @ 1579] 
09 (Inline Function) --------`--------     Far!std::invoke+0xd [c:\VC_current\include\type_traits @ 1579] 
0a 0000004c`605ffb40 00007ff6`1ee31ba8     Far!os::concurrency::thread::wrapper<`os::concurrency::thread::thread<void (__cdecl wm_listener::*)(os::concurrency::event const *),wm_listener *,os::concurrency::event *>'::`2'::<lambda_1> >+0x1b [C:\src\far\platform.concurrency.hpp @ 135] 
0b 0000004c`605ffb70 00007ff8`67417034     Far!thread_start<unsigned int (__cdecl*)(void *),1>+0x50 [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97] 
0c 0000004c`605ffba0 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
0d 0000004c`605ffbd0 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   2  Id: 8f4c.bd28 Suspend: 0 Teb: 0000004c`600b3000 Unfrozen ""
 # Child-SP          RetAddr               Call Site
00 0000004c`608ff4a8 00007ff8`669acb70     ntdll!ZwWaitForMultipleObjects+0x14 [minkernel\ntdll\daytona\objfre\amd64\usrstubs.asm @ 907] 
01 0000004c`608ff4b0 00007ff8`669aca6e     KERNELBASE!WaitForMultipleObjectsEx+0xf0 [minkernel\kernelbase\synch.c @ 1551] 
02 0000004c`608ff7a0 00007ff6`1eb602c6     KERNELBASE!WaitForMultipleObjects+0xe [minkernel\kernelbase\synch.c @ 1403] 
03 (Inline Function) --------`--------     Far!os::detail::handle_implementation::wait+0x1a [C:\src\far\platform.cpp @ 91] 
04 (Inline Function) --------`--------     Far!os::detail::handle_t<os::detail::handle_closer>::wait_any+0x1a [C:\src\far\platform.hpp @ 198] 
05 0000004c`608ff7e0 00007ff6`1eb713b9     Far!`anonymous namespace'::HistoryConfigCustom::ThreadProc+0xb6 [C:\src\far\configdb.cpp @ 1810] 
06 (Inline Function) --------`--------     Far!std::_C__Invoker_pmf_pointer::_Call+0x38 [c:\VC_current\include\type_traits @ 1583] 
07 (Inline Function) --------`--------     Far!std::_C_invoke+0x3b [c:\VC_current\include\type_traits @ 1583] 
08 (Inline Function) --------`--------     Far!std::_Apply_impl+0x3b [c:\VC_current\include\tuple @ 926] 
09 (Inline Function) --------`--------     Far!std::apply+0x3b [c:\VC_current\include\tuple @ 932] 
0a (Inline Function) --------`--------     Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0x3b [C:\src\far\platform.concurrency.hpp @ 99] 
0b (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x3b [c:\VC_current\include\type_traits @ 1579] 
0c (Inline Function) --------`--------     Far!std::invoke+0x3b [c:\VC_current\include\type_traits @ 1579] 
0d 0000004c`608ffcd0 00007ff6`1ee31ba8     Far!os::concurrency::thread::wrapper<`os::concurrency::thread::thread<void (__cdecl `anonymous namespace'::HistoryConfigCustom::*)(void),A0xfc2252d8::HistoryConfigCustom * const>'::`2'::<lambda_1> >+0x49 [C:\src\far\platform.concurrency.hpp @ 135] 
0e 0000004c`608ffd00 00007ff8`67417034     Far!thread_start<unsigned int (__cdecl*)(void *),1>+0x50 [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97] 
0f 0000004c`608ffd30 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
10 0000004c`608ffd60 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   3  Id: 8f4c.6df4 Suspend: 0 Teb: 0000004c`600b5000 Unfrozen ""
 # Child-SP          RetAddr               Call Site
00 0000004c`609fefd8 00007ff8`669acb70     ntdll!ZwWaitForMultipleObjects+0x14 [minkernel\ntdll\daytona\objfre\amd64\usrstubs.asm @ 907] 
01 0000004c`609fefe0 00007ff8`669aca6e     KERNELBASE!WaitForMultipleObjectsEx+0xf0 [minkernel\kernelbase\synch.c @ 1551] 
02 0000004c`609ff2d0 00007ff6`1eb602c6     KERNELBASE!WaitForMultipleObjects+0xe [minkernel\kernelbase\synch.c @ 1403] 
03 (Inline Function) --------`--------     Far!os::detail::handle_implementation::wait+0x1a [C:\src\far\platform.cpp @ 91] 
04 (Inline Function) --------`--------     Far!os::detail::handle_t<os::detail::handle_closer>::wait_any+0x1a [C:\src\far\platform.hpp @ 198] 
05 0000004c`609ff310 00007ff6`1eb713b9     Far!`anonymous namespace'::HistoryConfigCustom::ThreadProc+0xb6 [C:\src\far\configdb.cpp @ 1810] 
06 (Inline Function) --------`--------     Far!std::_C__Invoker_pmf_pointer::_Call+0x38 [c:\VC_current\include\type_traits @ 1583] 
07 (Inline Function) --------`--------     Far!std::_C_invoke+0x3b [c:\VC_current\include\type_traits @ 1583] 
08 (Inline Function) --------`--------     Far!std::_Apply_impl+0x3b [c:\VC_current\include\tuple @ 926] 
09 (Inline Function) --------`--------     Far!std::apply+0x3b [c:\VC_current\include\tuple @ 932] 
0a (Inline Function) --------`--------     Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0x3b [C:\src\far\platform.concurrency.hpp @ 99] 
0b (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x3b [c:\VC_current\include\type_traits @ 1579] 
0c (Inline Function) --------`--------     Far!std::invoke+0x3b [c:\VC_current\include\type_traits @ 1579] 
0d 0000004c`609ff800 00007ff6`1ee31ba8     Far!os::concurrency::thread::wrapper<`os::concurrency::thread::thread<void (__cdecl `anonymous namespace'::HistoryConfigCustom::*)(void),A0xfc2252d8::HistoryConfigCustom * const>'::`2'::<lambda_1> >+0x49 [C:\src\far\platform.concurrency.hpp @ 135] 
0e 0000004c`609ff830 00007ff8`67417034     Far!thread_start<unsigned int (__cdecl*)(void *),1>+0x50 [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97] 
0f 0000004c`609ff860 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
10 0000004c`609ff890 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   4  Id: 8f4c.7904 Suspend: 0 Teb: 0000004c`600bd000 Unfrozen ""
 # Child-SP          RetAddr               Call Site
00 0000004c`60afee78 00007ff8`669acb70     ntdll!ZwWaitForMultipleObjects+0x14 [minkernel\ntdll\daytona\objfre\amd64\usrstubs.asm @ 907] 
01 0000004c`60afee80 00007ff8`669aca6e     KERNELBASE!WaitForMultipleObjectsEx+0xf0 [minkernel\kernelbase\synch.c @ 1551] 
02 0000004c`60aff170 00007ff6`1ec7a19f     KERNELBASE!WaitForMultipleObjects+0xe [minkernel\kernelbase\synch.c @ 1403] 
03 (Inline Function) --------`--------     Far!os::detail::handle_implementation::wait+0x1b [C:\src\far\platform.cpp @ 91] 
04 (Inline Function) --------`--------     Far!os::detail::handle_t<os::detail::handle_closer>::wait_any+0x1b [C:\src\far\platform.hpp @ 198] 
05 0000004c`60aff1b0 00007ff6`1ec0ba60     Far!``FileSystemWatcher::Register'::`2'::<lambda_1>::operator()'::`2'::<lambda_1>::operator()+0x7ef [C:\src\far\filesystemwatcher.cpp @ 179] 
06 (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
07 0000004c`60affd70 00007ff6`1ec7afb9     Far!detail::cpp_try+0x40 [C:\src\far\exception_handler.cpp @ 1185] 
08 (Inline Function) --------`--------     Far!cpp_try+0x5f [C:\src\far\exception_handler.hpp @ 153] 
09 (Inline Function) --------`--------     Far!FileSystemWatcher::Register::__l2::<lambda_1>::operator()+0x62 [C:\src\far\filesystemwatcher.cpp @ 155] 
0a (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x62 [c:\VC_current\include\type_traits @ 1579] 
0b (Inline Function) --------`--------     Far!std::invoke+0x62 [c:\VC_current\include\type_traits @ 1579] 
0c (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::{ctor}::__l1::<lambda_3_>::operator()+0x62 [C:\src\far\common\function_ref.hpp @ 53] 
0d 0000004c`60affdb0 00007ff6`1ec0ba8d     Far!_Closure_wrapper_1c5fccef_3::<lambda_invoker_cdecl>+0x69 [C:\src\far\common\function_ref.hpp @ 49] 
0e (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
0f 0000004c`60affe10 00007ff6`1ec7999d     Far!detail::seh_try+0x1d [C:\src\far\exception_handler.cpp @ 1211] 
10 (Inline Function) --------`--------     Far!seh_try+0x79 [C:\src\far\exception_handler.hpp @ 203] 
11 (Inline Function) --------`--------     Far!seh_try_thread+0x79 [C:\src\far\exception_handler.hpp @ 239] 
12 0000004c`60affe50 00007ff6`1ec7afd7     Far!FileSystemWatcher::Register+0xcd [C:\src\far\filesystemwatcher.cpp @ 236] 
13 (Inline Function) --------`--------     Far!std::_C__Invoker_pmf_pointer::_Call+0x6 [c:\VC_current\include\type_traits @ 1583] 
14 (Inline Function) --------`--------     Far!std::_C_invoke+0x9 [c:\VC_current\include\type_traits @ 1583] 
15 (Inline Function) --------`--------     Far!std::_Apply_impl+0x9 [c:\VC_current\include\tuple @ 926] 
16 (Inline Function) --------`--------     Far!std::apply+0x9 [c:\VC_current\include\tuple @ 932] 
17 (Inline Function) --------`--------     Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0x9 [C:\src\far\platform.concurrency.hpp @ 99] 
18 (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x9 [c:\VC_current\include\type_traits @ 1579] 
19 (Inline Function) --------`--------     Far!std::invoke+0x9 [c:\VC_current\include\type_traits @ 1579] 
1a 0000004c`60affeb0 00007ff6`1ee31ba8     Far!os::concurrency::thread::wrapper<`os::concurrency::thread::thread<void (__cdecl FileSystemWatcher::*)(void),FileSystemWatcher *>'::`2'::<lambda_1> >+0x17 [C:\src\far\platform.concurrency.hpp @ 135] 
1b 0000004c`60affee0 00007ff8`67417034     Far!thread_start<unsigned int (__cdecl*)(void *),1>+0x50 [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97] 
1c 0000004c`60afff10 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
1d 0000004c`60afff40 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   5  Id: 8f4c.54d0 Suspend: 0 Teb: 0000004c`600bf000 Unfrozen ""
 # Child-SP          RetAddr               Call Site
00 0000004c`60bfebf8 00007ff8`669acb70     ntdll!ZwWaitForMultipleObjects+0x14 [minkernel\ntdll\daytona\objfre\amd64\usrstubs.asm @ 907] 
01 0000004c`60bfec00 00007ff8`669aca6e     KERNELBASE!WaitForMultipleObjectsEx+0xf0 [minkernel\kernelbase\synch.c @ 1551] 
02 0000004c`60bfeef0 00007ff6`1ec7a19f     KERNELBASE!WaitForMultipleObjects+0xe [minkernel\kernelbase\synch.c @ 1403] 
03 (Inline Function) --------`--------     Far!os::detail::handle_implementation::wait+0x1b [C:\src\far\platform.cpp @ 91] 
04 (Inline Function) --------`--------     Far!os::detail::handle_t<os::detail::handle_closer>::wait_any+0x1b [C:\src\far\platform.hpp @ 198] 
05 0000004c`60bfef30 00007ff6`1ec0ba60     Far!``FileSystemWatcher::Register'::`2'::<lambda_1>::operator()'::`2'::<lambda_1>::operator()+0x7ef [C:\src\far\filesystemwatcher.cpp @ 179] 
06 (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
07 0000004c`60bffaf0 00007ff6`1ec7afb9     Far!detail::cpp_try+0x40 [C:\src\far\exception_handler.cpp @ 1185] 
08 (Inline Function) --------`--------     Far!cpp_try+0x5f [C:\src\far\exception_handler.hpp @ 153] 
09 (Inline Function) --------`--------     Far!FileSystemWatcher::Register::__l2::<lambda_1>::operator()+0x62 [C:\src\far\filesystemwatcher.cpp @ 155] 
0a (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x62 [c:\VC_current\include\type_traits @ 1579] 
0b (Inline Function) --------`--------     Far!std::invoke+0x62 [c:\VC_current\include\type_traits @ 1579] 
0c (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::{ctor}::__l1::<lambda_3_>::operator()+0x62 [C:\src\far\common\function_ref.hpp @ 53] 
0d 0000004c`60bffb30 00007ff6`1ec0ba8d     Far!_Closure_wrapper_1c5fccef_3::<lambda_invoker_cdecl>+0x69 [C:\src\far\common\function_ref.hpp @ 49] 
0e (Inline Function) --------`--------     Far!function_ref<void __cdecl(void)>::operator()+0x6 [C:\src\far\common\function_ref.hpp @ 67] 
0f 0000004c`60bffb90 00007ff6`1ec7999d     Far!detail::seh_try+0x1d [C:\src\far\exception_handler.cpp @ 1211] 
10 (Inline Function) --------`--------     Far!seh_try+0x79 [C:\src\far\exception_handler.hpp @ 203] 
11 (Inline Function) --------`--------     Far!seh_try_thread+0x79 [C:\src\far\exception_handler.hpp @ 239] 
12 0000004c`60bffbd0 00007ff6`1ec7afd7     Far!FileSystemWatcher::Register+0xcd [C:\src\far\filesystemwatcher.cpp @ 236] 
13 (Inline Function) --------`--------     Far!std::_C__Invoker_pmf_pointer::_Call+0x6 [c:\VC_current\include\type_traits @ 1583] 
14 (Inline Function) --------`--------     Far!std::_C_invoke+0x9 [c:\VC_current\include\type_traits @ 1583] 
15 (Inline Function) --------`--------     Far!std::_Apply_impl+0x9 [c:\VC_current\include\tuple @ 926] 
16 (Inline Function) --------`--------     Far!std::apply+0x9 [c:\VC_current\include\tuple @ 932] 
17 (Inline Function) --------`--------     Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0x9 [C:\src\far\platform.concurrency.hpp @ 99] 
18 (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x9 [c:\VC_current\include\type_traits @ 1579] 
19 (Inline Function) --------`--------     Far!std::invoke+0x9 [c:\VC_current\include\type_traits @ 1579] 
1a 0000004c`60bffc30 00007ff6`1ee31ba8     Far!os::concurrency::thread::wrapper<`os::concurrency::thread::thread<void (__cdecl FileSystemWatcher::*)(void),FileSystemWatcher *>'::`2'::<lambda_1> >+0x17 [C:\src\far\platform.concurrency.hpp @ 135] 
1b 0000004c`60bffc60 00007ff8`67417034     Far!thread_start<unsigned int (__cdecl*)(void *),1>+0x50 [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97] 
1c 0000004c`60bffc90 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
1d 0000004c`60bffcc0 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   6  Id: 8f4c.8170 Suspend: 0 Teb: 0000004c`600c1000 Unfrozen ""
 # Child-SP          RetAddr               Call Site
00 0000004c`60cff1d8 00007ff8`669acb70     ntdll!ZwWaitForMultipleObjects+0x14 [minkernel\ntdll\daytona\objfre\amd64\usrstubs.asm @ 907] 
01 0000004c`60cff1e0 00007ff8`669aca6e     KERNELBASE!WaitForMultipleObjectsEx+0xf0 [minkernel\kernelbase\synch.c @ 1551] 
02 0000004c`60cff4d0 00007ff6`1ede6dbf     KERNELBASE!WaitForMultipleObjects+0xe [minkernel\kernelbase\synch.c @ 1403] 
03 (Inline Function) --------`--------     Far!os::detail::handle_implementation::wait+0x17 [C:\src\far\platform.cpp @ 91] 
04 (Inline Function) --------`--------     Far!os::detail::handle_t<os::detail::handle_closer>::wait_any+0x17 [C:\src\far\platform.hpp @ 198] 
05 0000004c`60cff510 00007ff6`1ec7afd7     Far!taskbar_impl::handler+0x46f [C:\src\far\taskbar.cpp @ 118] 
06 (Inline Function) --------`--------     Far!std::_C__Invoker_pmf_pointer::_Call+0x6 [c:\VC_current\include\type_traits @ 1583] 
07 (Inline Function) --------`--------     Far!std::_C_invoke+0x9 [c:\VC_current\include\type_traits @ 1583] 
08 (Inline Function) --------`--------     Far!std::_Apply_impl+0x9 [c:\VC_current\include\tuple @ 926] 
09 (Inline Function) --------`--------     Far!std::apply+0x9 [c:\VC_current\include\tuple @ 932] 
0a (Inline Function) --------`--------     Far!os::concurrency::thread::{ctor}::__l2::<lambda_1>::operator()+0x9 [C:\src\far\platform.concurrency.hpp @ 99] 
0b (Inline Function) --------`--------     Far!std::_Invoker_functor::_Call+0x9 [c:\VC_current\include\type_traits @ 1579] 
0c (Inline Function) --------`--------     Far!std::invoke+0x9 [c:\VC_current\include\type_traits @ 1579] 
0d 0000004c`60cff700 00007ff6`1ee31ba8     Far!os::concurrency::thread::wrapper<`os::concurrency::thread::thread<void (__cdecl FileSystemWatcher::*)(void),FileSystemWatcher *>'::`2'::<lambda_1> >+0x17 [C:\src\far\platform.concurrency.hpp @ 135] 
0e 0000004c`60cff730 00007ff8`67417034     Far!thread_start<unsigned int (__cdecl*)(void *),1>+0x50 [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97] 
0f 0000004c`60cff760 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
10 0000004c`60cff790 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 

   7  Id: 8f4c.6978 Suspend: 0 Teb: 0000004c`600c5000 Unfrozen
 # Child-SP          RetAddr               Call Site
00 0000004c`60effc98 00007ff8`675b1f0e     win32u!ZwUserGetMessage+0x14 [onecoreuap\windows\core\umode\moderncore\objfre\amd64\usrstubs.asm @ 190] 
01 0000004c`60effca0 00007ff8`68b492a8     user32!GetMessageW+0x2e [onecoreuap\internal\windows\inc\private\core\ntuser\client\ntcftxt.h @ 538] 
02 0000004c`60effd00 00007ff8`68b491e0     combase!CDllHost::STAWorkerLoop+0x64 [onecore\com\combase\objact\dllhost.cxx @ 1282] 
03 0000004c`60effd80 00007ff8`68b7ae50     combase!CDllHost::WorkerThread+0xd4 [onecore\com\combase\objact\dllhost.cxx @ 1211] 
04 0000004c`60effdc0 00007ff8`68b7add9     combase!CRpcThread::WorkerLoop+0x4c [onecore\com\combase\dcomrem\threads.cxx @ 283] 
05 0000004c`60effe20 00007ff8`67417034     combase!CRpcThreadCache::RpcWorkerThreadEntry+0x29 [onecore\com\combase\dcomrem\threads.cxx @ 77] 
06 0000004c`60effe50 00007ff8`68f42651     kernel32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 
07 0000004c`60effe80 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] 
threads.txt (24,744 bytes)   

Px

2021-10-19 21:26

reporter   bugnote:0017195

@matik
While your threads dump is good in general, unfortunately it doesn't have the information which exact thread from those is creating the load in your case. So to solve the issue for you you can either test the builds to find the first problematic one, or use Process Explorer or some other similar tool to identify the offending thread :)

DrKnS

2021-10-19 21:43

administrator   bugnote:0017196

matik, we can certainly ignore all the threads that are in ZwWaitForMultipleObjects or ZwUserGetMessage - they're not doing anything. This only leaves the main thread.
The call stack looks normal, there's no crash loop in it yet.

I think "Far.exe instances are not visible anymore in TaskBar" is actually important here - what you see in taskbar doesn't really belong to Far, it belongs to Windows console host, which is a child process of far.exe called conhost.exe. If you don't see its window anymore, it probably crashed and Far just tries to wait for console input and fails, because there's no console, again and again, and that's the CPU usage you see. Do you see the corresponding conhost.exe processes in such cases?

me21

2022-04-13 08:11

reporter   bugnote:0017309

Hit this issue too. When Far Manager runs normally, there is conhost process under Far Manager entry in Task Manager list. When Far Manager disappears from the taskbar and consumes the CPU, there is no such sub-entry.

Issue History

Date Modified Username Field Change
2021-08-19 09:26 mineevks New Issue
2021-08-19 09:26 mineevks File Added: far-high-cpu-load.PNG
2021-08-19 09:43 DrKnS Note Added: 0017150
2021-08-20 09:12 mineevks Note Added: 0017151
2021-08-20 09:18 DrKnS Note Added: 0017152
2021-08-20 09:18 DrKnS File Added: dl.png
2021-08-20 09:38 DrKnS Note Added: 0017153
2021-08-24 09:20 mineevks Note Added: 0017154
2021-08-24 09:22 mineevks Note Added: 0017155
2021-08-24 09:25 mineevks Note Edited: 0017154
2021-08-24 09:26 mineevks Note Edited: 0017154
2021-08-24 09:27 mineevks Note Edited: 0017155
2021-08-24 10:15 DrKnS Note Added: 0017156
2021-08-24 15:57 Px Note Added: 0017157
2021-08-30 10:31 mineevks Note Added: 0017158
2021-09-29 10:22 matik Note Added: 0017172
2021-09-29 10:22 matik File Added: threads.txt
2021-09-29 15:23 matik Note Edited: 0017172
2021-10-19 21:26 Px Note Added: 0017195
2021-10-19 21:43 DrKnS Note Added: 0017196
2022-04-13 08:11 me21 Note Added: 0017309