TC8/64 [RC2] not starting on win7/64

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

Moderators: white, Hacker, petermad, Stefan2

Post Reply
oskaratk
Junior Member
Junior Member
Posts: 4
Joined: 2012-05-23, 13:59 UTC

TC8/64 [RC2] not starting on win7/64

Post by *oskaratk »

on a fresh installed Win7/64 I cannot start Totalcmd64.exe at all:
Interestingly, after installing tcd .. it worked once or twice. From there on, nada...


Windows event log:

Faulting application name: TOTALCMD64.EXE, version: 8.0.0.1, time stamp: 0x00000000
Faulting module name: kernel32.dll, version: 6.1.7601.17651, time stamp: 0x4e21213b
Exception code: 0xc0000005
Fault offset: 0x000000000002328b
Faulting process id: 0x1170
Faulting application start time: 0x01cd38db0125a499
Faulting application path: C:\totalcmd\TOTALCMD64.EXE
Faulting module path: C:\Windows\system32\kernel32.dll
Report Id: 40007e3c-a4ce-11e1-84ce-68a3c44b2809
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

You have a crash in the windows kernel - looks like a problem with your Windows installation...
Author of Total Commander
https://www.ghisler.com
oskaratk
Junior Member
Junior Member
Posts: 4
Joined: 2012-05-23, 13:59 UTC

Post by *oskaratk »

ghisler(Author) wrote:You have a crash in the windows kernel - looks like a problem with your Windows installation...
well, the first question is whether the tcmd 64 bit version is supposed to call into the 32 bit kernel dll

Its only tmc exposing this behavior - other apps .. VS2010, Visual Objects, Eclypse - just to name a few - are running fine

I have tmc 64 tested on another machine, however one is Win7/64 professional ( that with the problem). the other one is win7/64 ultimate ( running OK )

Any ideas ?

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

Post by *ghisler(Author) »

This isn't the 32-bit kernel, it's the 64-bit kernel! Both are called kernel32.exe, but one is in system32, and the other in syswow64 (appearing as system32 in 32-bit programs only).
Author of Total Commander
https://www.ghisler.com
umbra
Power Member
Power Member
Posts: 871
Joined: 2012-01-14, 20:41 UTC

Post by *umbra »

2oskaratk,
ghisler(Author) is right. Basically everything in Windows\System32 is 64-bit, while everything in Windows\SysWOW64 is 32-bit (ask Microsoft why). Also, VS2010 and Visual Objects are 32-bit applications, so there is no reason for them to call the 64-bit kernel. Try to remove TC from your computer (including its settings) and install it again without any plugins, just pure TC. Does it help?
Windows 7 Pro x64, Windows 10 Pro x64
oskaratk
Junior Member
Junior Member
Posts: 4
Joined: 2012-05-23, 13:59 UTC

Post by *oskaratk »

umbra wrote:2oskaratk,
ghisler(Author) is right. Basically everything in Windows\System32 is 64-bit, while everything in Windows\SysWOW64 is 32-bit (ask Microsoft why). Also, VS2010 and Visual Objects are 32-bit applications, so there is no reason for them to call the 64-bit kernel. Try to remove TC from your computer (including its settings) and install it again without any plugins, just pure TC. Does it help?
Yep, I forgot about the MS confusion of system32 and 64 bit . sorry.

Have uninstalled/reinstalled, rebooted several times, made sure the old ini files were removed as well as the plugin directory - no change

The 32 bit version runs fine - so I am (unfortunately) stuck with that, I guess

Just FYI:
win7 SP1 is installed ...
oskaratk
Junior Member
Junior Member
Posts: 4
Joined: 2012-05-23, 13:59 UTC

Post by *oskaratk »

it is becoming interesting:

the problem only shows when I RDP into the machine. Will have more info topmorrow, hopefully
User avatar
MarcinW
Power Member
Power Member
Posts: 852
Joined: 2012-01-23, 15:58 UTC
Location: Poland

Post by *MarcinW »

Crash inside kernel32.dll (user32.dll, etc.) doesn't usually mean, that there is a problem with a Windows kernel or with a Windows installation. Calling any DLL function with invalid parameters may cause an exception inside this DLL.

In our specific example, we can see "Exception code: 0xc0000005" - it's the Acces Violation exception. We can also see "Fault offset: 0x000000000002328b" - this means, that we have a null pointer reference. We passed some structure (record) to one of kernel32.dll functions - but instead of valid record pointer, we passed NULL.
Kernel32.dll function tries to read a field of this record at offset 0x2328B. So we have 0 + 0x2328B = Fault offset: 0x2328B.

There is a chance to locate this kernel32 function by searching (with any hex editor) the 0x2328B value inside kernel32.dll file (bytes: 8B 32 02 00) and checking with any disassembler (e.g. IDA), what functions reside in places of references to 0x2328B value. However, kernel32.dll may pass our record to ntdll.dll, so we should also check this DLL.

There is also a more probable possibility. "Fault offset" may be an offset of instruction causing an exception inside kernel32.dll (I don't know Microsoft's convention of crash report). So we should load kernel32.dll to any disassembler and check the instruction at addres ImageBase + 0x2328B - then we have also a kernel32.dll function causing problems.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48077
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

2oskaratk
Do you get any crash report dialogs from Windows? If yes, please chech whether there is any .DMP file in your TEMP directory (or a subdir) while the Windows error dialog is up. This would be a Windows error dump. If there is one, please pack it and send it to support at ghisler dot com, so I can try to check the stack.
Author of Total Commander
https://www.ghisler.com
Post Reply