+TC 8.50 b2 x32 can't start on Win NT 4.0 SP1

Bug reports will be moved here when the described bug has been fixed

Moderators: Hacker, petermad, Stefan2, white

User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

+TC 8.50 b2 x32 can't start on Win NT 4.0 SP1

Post by *MaxX »

TC 8.50 b2 x32 can't start on Win NT 4.0 SP1
Screenshot:
http://iceimg.com/i/a3/a7/84d3a35c78.png
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

some more with 8.01 when listing wfx lpugins and entering one of them (randomly selecred)
http://iceimg.com/i/ae/36/ed6cd35723.png
Ukrainian Total Commander Translator. Feedback and discuss.
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

It would be better to Ctrl+C exception report and paste text here instead of screenshot because text may be used directly w/o manual typing.
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

2MVV
Sorry, that's not my PC and I even can't get access to there.
Screenshots were sent for me as they are now.
Ukrainian Total Commander Translator. Feedback and discuss.
kzaabox
Junior Member
Junior Member
Posts: 26
Joined: 2011-09-21, 12:37 UTC
Location: Hungary

Re: TC 8.50 b2 x32 can't start on Win NT 4.0 SP1

Post by *kzaabox »

MaxX wrote:TC 8.50 b2 x32 can't start on Win NT 4.0 SP1
Screenshot:
http://iceimg.com/i/a3/a7/84d3a35c78.png
I can confirm that. I've tested it with Windows NT4.0 and installed Service Packs step-by-step from 1 to 6a.

TC8.50b2 fail to starts with the following message:

"The procedure entry point Module32Next could not be located in the dynamic link library kernel32.dll"

According to Microsoft this function needs at least Windows 2003 at server side, however TC8.50b2 successfully starts on Windows 2000 (SP4).
I can confirm that. I've tested it with Windows NT4.0 and installed Service Packs step-by-step from 1 to 6a.

TC8.50b2 fail to starts with the following message:

"The procedure entry point Module32Next could not be located in the dynamic link library kernel32.dll"

According to Microsoft this function needs at least Windows 2003 at server side, however TC8.50b2 successfully starts on Windows 2000 (SP4).
http://msdn.microsoft.com/en-us/library/windows/desktop/ms684221
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks for the info, I will load the function dynamically.

Btw, you cannot rely on the "minimum operating system" any more - Microsoft doesn't list any systems which they think are obsolete. Currently the oldest supported system is Windows XP...

Btw, if you wonder where this function is used, it's in this code:
http://ghisler.ch/board/viewtopic.php?t=36410&highlight=module32next
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

I've just tested TC 8.50 b2 on my old Win98 - works fine.
Last edited by MaxX on 2013-09-09, 19:51 UTC, edited 1 time in total.
User avatar
MarcinW
Power Member
Power Member
Posts: 852
Joined: 2012-01-23, 15:58 UTC
Location: Poland

Post by *MarcinW »

Well, my fault, I haven't tested this aspect with Delphi 2 + Win NT 4.

These functions:
- CreateToolhelp32Snapshot
- Module32First
- Module32Next

are declared in TLHelp32.pas - and they are declared dynamically in Delphi 5 and up, but statically in Delphi 2. Here is the cause of this problem.

Regards
kzaabox
Junior Member
Junior Member
Posts: 26
Joined: 2011-09-21, 12:37 UTC
Location: Hungary

Post by *kzaabox »

ghisler(Author) wrote:Thanks for the info, I will load the function dynamically.

Btw, you cannot rely on the "minimum operating system" any more - Microsoft doesn't list any systems which they think are obsolete. Currently the oldest supported system is Windows XP...

Btw, if you wonder where this function is used, it's in this code:
http://ghisler.ch/board/viewtopic.php?t=36410&highlight=module32next
Oh, I see. So Microsoft try to forget its own products, nice...
Anyway I have read the post followed by the url you gave me. Superb team work!
I forgot to mention that (obviously) I used virtual machines for testing purposes, but VMware Tools cannot be installed on Windows NT 4.0 until you install the SP6a. So mrxvpc.sys was surely not in the system32\Drivers directory of windows.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Please try beta 3, I'm loading these functions dynamically now.
Author of Total Commander
https://www.ghisler.com
User avatar
MarcinW
Power Member
Power Member
Posts: 852
Joined: 2012-01-23, 15:58 UTC
Location: Poland

Post by *MarcinW »

Now TC 8.50 beta 3 starts properly under Win NT 4 (without any service packs), but new problem has been introduced: only ProcesLoadedDLLs should be omitted when CreateToolhelp32Snapshot / Module32First / Module32Next hasn't been found. SwapExportedFunction and SwapImportedFunction functions should be called always - both in the initialization and in the finalization section.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, no problem, I can change that easily.
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

fixed, thanks
Ukrainian Total Commander Translator. Feedback and discuss.
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

Sorry, but NOT fixed?

To do to reproduce:
1. started good
2. exit good
3. start goot
4. go to network dir (no net installed)
5. see crash screenshot
http://iceimg.com/i/64/41/d256879a17.png
6. push "yes" to continue exec
7. go to another dirs, do something... like nothing happened
8. can't repeat an error anymore...
User avatar
MarcinW
Power Member
Power Member
Posts: 852
Joined: 2012-01-23, 15:58 UTC
Location: Poland

Post by *MarcinW »

Exception shown on the screenshot above is inside ntdll.dll!RtlFreeHeap.

So I suppose that the cause is the same as described in the Crash on VirtualPC thread, and has been raised because patch described there has been unintentionally disabled under Win NT 4. Enabling SwapExportedFunction and SwapImportedFunction functions back (as described in my previous post here) may solve the problem.

So we have to wait for beta 4.
Post Reply