When deleting folders with readonly files TC often freezes
Moderators: Hacker, petermad, Stefan2, white
When deleting folders with readonly files TC often freezes
Steps to reproduce:
1. Create a folder 'test' (e.g. in the root of a drive)
2. Create a file 'test.file' in that folder (e.g. of 0 bytes).
3. Give that file the attribute "Read-Only".
4. Try to delete the folder 'test' (not into the paper bin)
5. Answer the first question ("Are you sure") with "Yes"
6. Answer the second question ("Directory not empty") with "Delete"
7. Often (not everytime) TC freezes before showing the third question ("Is Read Only") and uses the CPU time of one kernel (on a two kernel CPU).
Environment:
Windows XP SP 3
Avira Antivir
Total Commander 7.04a
Example stacktrace from the thread that is creating the load:
ntkrnlpa.exe!HalPrivateDispatchTable+0x36
ntdll.dll!KiFastSystemCallRet
ole32.dll!CoUnmarshalInterface+0x59b
ole32.dll!UpdateDCOMSettings+0x26b6
ole32.dll!CoWaitForMultipleHandles+0x1b1e
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageA+0xf
TOTALCMD.EXE+0x18ddb
TOTALCMD.EXE+0x5717c
TOTALCMD.EXE+0x569cc
TOTALCMD.EXE+0x1dcac9
TOTALCMD.EXE+0x3be7f
TOTALCMD.EXE+0x13822
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!DefWindowProcW+0x180
USER32.dll!DefWindowProcW+0x1cc
ntdll.dll!KiUserCallbackDispatcher+0x13
USER32.dll!PeekMessageW+0x167
ole32.dll!CoWaitForMultipleHandles+0x416b
ole32.dll!CoUnmarshalInterface+0x18fc
ole32.dll!CoUnmarshalInterface+0x1919
ole32.dll!CoUnmarshalInterface+0x1509
ole32.dll!StgGetIFillLockBytesOnFile+0x1081b
ole32.dll!StgGetIFillLockBytesOnFile+0x10223
ole32.dll!StgGetIFillLockBytesOnFile+0x10107
ole32.dll!CoUnmarshalInterface+0x15b6
ole32.dll!CoUnmarshalInterface+0x155f
ole32.dll!ReleaseStgMedium+0x127f
RPCRT4.dll!NdrProxySendReceive+0x40
RPCRT4.dll!NdrProxySendReceive+0x138
RPCRT4.dll!NdrProxySendReceive+0xcd
RPCRT4.dll!RpcBindingSetObject+0x4d
tiptsf.dll!ProcessCaretEvents+0x1c3d
tiptsf.dll+0x2680f
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageA+0xf
TOTALCMD.EXE+0x18ddb
TOTALCMD.EXE+0x22af21
kernel32.dll!RegisterWaitForInputIdle+0x49
1. Create a folder 'test' (e.g. in the root of a drive)
2. Create a file 'test.file' in that folder (e.g. of 0 bytes).
3. Give that file the attribute "Read-Only".
4. Try to delete the folder 'test' (not into the paper bin)
5. Answer the first question ("Are you sure") with "Yes"
6. Answer the second question ("Directory not empty") with "Delete"
7. Often (not everytime) TC freezes before showing the third question ("Is Read Only") and uses the CPU time of one kernel (on a two kernel CPU).
Environment:
Windows XP SP 3
Avira Antivir
Total Commander 7.04a
Example stacktrace from the thread that is creating the load:
ntkrnlpa.exe!HalPrivateDispatchTable+0x36
ntdll.dll!KiFastSystemCallRet
ole32.dll!CoUnmarshalInterface+0x59b
ole32.dll!UpdateDCOMSettings+0x26b6
ole32.dll!CoWaitForMultipleHandles+0x1b1e
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageA+0xf
TOTALCMD.EXE+0x18ddb
TOTALCMD.EXE+0x5717c
TOTALCMD.EXE+0x569cc
TOTALCMD.EXE+0x1dcac9
TOTALCMD.EXE+0x3be7f
TOTALCMD.EXE+0x13822
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!DefWindowProcW+0x180
USER32.dll!DefWindowProcW+0x1cc
ntdll.dll!KiUserCallbackDispatcher+0x13
USER32.dll!PeekMessageW+0x167
ole32.dll!CoWaitForMultipleHandles+0x416b
ole32.dll!CoUnmarshalInterface+0x18fc
ole32.dll!CoUnmarshalInterface+0x1919
ole32.dll!CoUnmarshalInterface+0x1509
ole32.dll!StgGetIFillLockBytesOnFile+0x1081b
ole32.dll!StgGetIFillLockBytesOnFile+0x10223
ole32.dll!StgGetIFillLockBytesOnFile+0x10107
ole32.dll!CoUnmarshalInterface+0x15b6
ole32.dll!CoUnmarshalInterface+0x155f
ole32.dll!ReleaseStgMedium+0x127f
RPCRT4.dll!NdrProxySendReceive+0x40
RPCRT4.dll!NdrProxySendReceive+0x138
RPCRT4.dll!NdrProxySendReceive+0xcd
RPCRT4.dll!RpcBindingSetObject+0x4d
tiptsf.dll!ProcessCaretEvents+0x1c3d
tiptsf.dll+0x2680f
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageA+0xf
TOTALCMD.EXE+0x18ddb
TOTALCMD.EXE+0x22af21
kernel32.dll!RegisterWaitForInputIdle+0x49
- fenix_productions
- Power Member
- Posts: 1979
- Joined: 2005-08-07, 13:23 UTC
- Location: Poland
- Contact:
I don't think it hast something to do with avira (just added it for completeness), I rather think it is an GUI, thread or graphic problem, as the freeze occurs just when the "Is Readonly" question is about to be ask. The dialog is already shown, but contains no content (is just grey).
It could be a problem with the graphics driver, but I havn't updgraded the driver since nearly one year and TC is the only application that shows such behaviour.
It could be a problem with the graphics driver, but I havn't updgraded the driver since nearly one year and TC is the only application that shows such behaviour.
Re: When deleting folders with readonly files TC often freez
Same here, happens also when overwriting files with readonly set.
TC7.04a
German XP Tablet SP3
No AntiVir
Could not reproduce it on a second system with
TC7.04a (same settings as above)
German XP SP3
No AntiVir
The Thread with the highest load is totalcmd.exe+0x326570
Top on Stack: ntoskrnl.exe+0x47f3
I think this has something to do with the Tablet Edition of Windows XP
TC7.04a
German XP Tablet SP3
No AntiVir
Could not reproduce it on a second system with
TC7.04a (same settings as above)
German XP SP3
No AntiVir
The Thread with the highest load is totalcmd.exe+0x326570
Top on Stack: ntoskrnl.exe+0x47f3
I think this has something to do with the Tablet Edition of Windows XP
Re: When deleting folders with readonly files TC often freez
Some more information about this:
7.03: No Bug
7.04: Bug
7.04a: Bug
7.5b1: Bug
(are there downloads of the 7.04-Betas available, so i can test when this bug has been introduced?)
I could only reproduce it on XP Tablet Edition.
When i reproduce this bug and destroy the Window TExtMsgForm, TotalCMD continues to work normaly. (see Video hawkear.de/TCMDBug.7z, playable with VMWare Video Codec installed or SMPlayer)
The thread which hogs the cpu (main thread) is looping with calls to user32.PeekMessageA, user32.TranslateMessage, user32.DispatchMessageA
7.03: No Bug
7.04: Bug
7.04a: Bug
7.5b1: Bug
(are there downloads of the 7.04-Betas available, so i can test when this bug has been introduced?)
I could only reproduce it on XP Tablet Edition.
When i reproduce this bug and destroy the Window TExtMsgForm, TotalCMD continues to work normaly. (see Video hawkear.de/TCMDBug.7z, playable with VMWare Video Codec installed or SMPlayer)
The thread which hogs the cpu (main thread) is looping with calls to user32.PeekMessageA, user32.TranslateMessage, user32.DispatchMessageA
Hi, Hawkear.
Can truthfully state that I have never experienced the behaviour which you and derkleine report using any T.C. version on
+ Windows Server 2000 SP4, 32bit
+ Windows Server 2003 SP2, 32bit and 64bit
+ Windows XP SP1 and SP2, 32bit
+ Windows Vista Home Premium, 32bit
These systems ran and still run either Symantec Antivirus or Kaspersky Antivirus.
It is still imaginable that the source of the reported trouble is not caused by Total Commander.
Kind regards,
Karl
Can truthfully state that I have never experienced the behaviour which you and derkleine report using any T.C. version on
+ Windows Server 2000 SP4, 32bit
+ Windows Server 2003 SP2, 32bit and 64bit
+ Windows XP SP1 and SP2, 32bit
+ Windows Vista Home Premium, 32bit
These systems ran and still run either Symantec Antivirus or Kaspersky Antivirus.
It is still imaginable that the source of the reported trouble is not caused by Total Commander.
Kind regards,
Karl
It was a clean install inside a virtual machine. (only installed Windows and Total Commander. After i could reproduce the bug, i copied also some tools (Process Explorer, WinExplorer, OllyDbg) onto the machine)karlchen wrote: It is still imaginable that the source of the reported trouble is not caused by Total Commander.
Either it is Total Commander, or Windows (maybe Microsoft broke the API when they implemented the Tablet-Extensions). At the moment i would say it is Total Commander, because it is the only program with which i have crashes/freezes ..
- ghisler(Author)
- Site Admin
- Posts: 50475
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Unfortunately I don't have the possibility to test this without a tablet pc.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com