-TOTALCMD64.exe CPU 50%

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
edge91
Junior Member
Junior Member
Posts: 2
Joined: 2014-05-10, 22:28 UTC

-TOTALCMD64.exe CPU 50%

Post by *edge91 »

Sometimes when I close Total Commander 8.51a 64 I notice it is still running in background and using my CPU at 50%.
User avatar
MarcinW
Power Member
Power Member
Posts: 852
Joined: 2012-01-23, 15:58 UTC
Location: Poland

Post by *MarcinW »

50% is because you have 2 CPU cores, and TC uses 100% of one of them...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Try using "Process Explorer" from www.sysinternals.com to find out in what thread it is hanging. It may be a Windows shell extension or plugin, or a hanging network connection or so.
Author of Total Commander
https://www.ghisler.com
edge91
Junior Member
Junior Member
Posts: 2
Joined: 2014-05-10, 22:28 UTC

Post by *edge91 »

Hope this helps:

dodaj.rs/f/1w/iP/1M2UVhfp/totalcmdthread.jpg
User avatar
MarcinW
Power Member
Power Member
Posts: 852
Joined: 2012-01-23, 15:58 UTC
Location: Poland

Post by *MarcinW »

@edge91: maybe you could make this screenshot once again - but with these hanging threads selected (for example: in window "TOTALCMD64.EXE:6772 Properties" please select 8300 thread - it is hanging, because it uses 43.24% of CPU time). There is some potentially useful information at the bottom of this window, but it's displayed for the currently selected thread only.

Please also try to kill these hanging threads and tell us what happened.

Regards
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Please make a screenshot of the "Stack" (there is a button for that) for the thread with the high CPU value.
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Christian,
Seems I have a similar issue, though it happens when TC is running. TC x64 8.51 (not yet upgraded to 8.51a) uses up 100% of one CPU core, here is the stack for the offending thread:

Code: Select all

ntoskrnl.exe!KeWaitForMultipleObjects+0x1a7a
afd.sys+0x455aa
afd.sys+0x45b34
ntoskrnl.exe!NtMapViewOfSection+0x1729
ntoskrnl.exe!NtDeviceIoControlFile+0x56
ntoskrnl.exe!KeSynchronizeExecution+0x3a23
ntdll.dll!NtDeviceIoControlFile+0xa
mswsock.dll+0x174d
WS2_32.dll!recv+0x56
SyncplicityShellExt.dll!DllRegisterServer+0xaa5
SyncplicityShellExt.dll+0x27df
SHELL32.dll!Ordinal860+0x5977
SHELL32.dll!Ordinal893+0xe678
SHELL32.dll!Ordinal860+0xbbb
TOTALCMD64.EXE+0x18eda0
Let me know if you need anything else.

TIA
Roman
Last edited by Hacker on 2014-05-27, 11:32 UTC, edited 1 time in total.
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

8.51a x64 similar results:

Code: Select all

ntoskrnl.exe!ExIsResourceAcquiredExclusiveLite+0x29c
ntoskrnl.exe!KeReleaseGuardedMutex+0xe1c
ntoskrnl.exe!KeWaitForMultipleObjects+0x1a7a
afd.sys+0x455aa
afd.sys+0x45b34
ntoskrnl.exe!NtMapViewOfSection+0x15a7
ntoskrnl.exe!NtDeviceIoControlFile+0x56
ntoskrnl.exe!KeSynchronizeExecution+0x3a23
ntdll.dll!NtDeviceIoControlFile+0xa
mswsock.dll+0x174d
WS2_32.dll!recv+0x13c
SyncplicityShellExt.dll!DllRegisterServer+0xaa5
SyncplicityShellExt.dll+0x27df
SHELL32.dll!Ordinal860+0x5977
SHELL32.dll!Ordinal893+0xe678
SHELL32.dll!Ordinal860+0xbbb
TOTALCMD64.EXE+0x18eec0
It seems Syncplicity is causing the trouble. If TC and Syncplicity are runing at the same time the CPU usage goes to 100%. It does not suffice to quit Syncplicity, TC needs to be restarted and Syncplicity must not be running.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

As you can see the thread loops in SyncplicityShellExt. I don't think that I can fix that myself. :(
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Christian,
To be honest, no, I do not see it, but I believe you. :D

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I do not see it
Here is the relevant line from the code:

Code: Select all

SyncplicityShellExt.dll!DllRegisterServer+0xaa5 
A stack trace is read from bottom to top: At the bottom, there is TOTALCMD64.EXE, which calls a function in SHELL32.dll, a system library. SHELL32.dll then calls SyncplicityShellExt.dll because it is registered as a shell extension. SyncplicityShellExt.dll then calls some other functions which finally hang.

TC cannot control what SyncplicityShellExt.dll will call, so only the makers of SyncplicityShellExt.dll could fix the problem.
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Christian,
Thank you. I understood the basic idea, I just did not know where you see the loop. I assume that's just inferred from the 100% CPU usage and looking at the order of calling functions.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

The stack shows in which function TC currently runs. When it stays there for a longer time, it means that there is some kind of loop/hang.
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Christian,
Ah, I see, so it's best to keep looking at it for a few seconds to see if the stack does not change.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply