From: Walter Briscoe Newsgroups: comp.os.msdos.djgpp Subject: Re: NTVDM.EXE crashing in Windows 2000 SP3, Windows XP, with DJGPP 2.03 building vim Date: Sat, 29 Mar 2003 07:36:57 +0000 Lines: 190 Sender: Walter Briscoe Message-ID: References: <10303281926 DOT AA13106 AT clio DOT rice DOT edu> NNTP-Posting-Host: ponle.demon.co.uk Mime-Version: 1.0 Content-Type: text/plain;charset=us-ascii X-Trace: news.demon.co.uk 1048932573 12203 194.222.194.7 (29 Mar 2003 10:09:33 GMT) X-Complaints-To: abuse AT demon DOT net NNTP-Posting-Date: Sat, 29 Mar 2003 10:09:33 +0000 (UTC) User-Agent: Turnpike/6.02-U () To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com In message <10303281926 DOT AA13106 AT clio DOT rice DOT edu> of Fri, 28 Mar 2003 13:26:54 in comp.os.msdos.djgpp, Charles Sandmann writes >> >SP3 machine (copying first to the dllcache to thwart WFP.) >> >It worked, but a drastic solution.. > >Using a patched SP2 ntvdm.dll does seem to work fine. That is also the experience of somebody I trust. > >> Either the author of ntvdmpat.zip referenced from >> http://clio.rice.edu/djgpp/W2K_workaround.htm did not get an email I >> sent on 2003-03-23 or it was not worth a reply; his postings to >> comp.os.msdos.djgpp made on 2003-03-25 and 2003-03-27 suggest activity. > >I didn't get any message. It might have been caught in the spamtrap; >an exact sender and subject would allow me to tell you if it ever >arrived on the system and if so - why it was rejected. For obvious reasons, I have to use this mechanism to send the details. email to me usually arrives! I have my message recorded as starting: Message-ID: Date: Sun, 23 Mar 2003 07:21:26 +0000 To: sandmann AT clio DOT rice DOT edu From: Walter Briscoe Sender: Walter Briscoe Subject: NTVDMPAT fails in Windows 2000 SP3 MIME-Version: 1.0 Content-Type: text/plain;charset=us-ascii User-Agent: Turnpike/6.02-U () I apologise for needing to write to you. ... > >> That URL says "2) Optional: Patch Windows NTVDM.EXE >> If you have Windows 2000 (Original, SP1, SP2) you can modify your NTVDM >> image to avoid crashes ...". I thought that file probably predated SP3 >> and a download was worth a trial. The trial succeeded; the patch does >> not work on SP3! It might be friendly to add a sentence: "This patch >> does not work on later releases of Windows." > >Added. Confirmed! I had to refresh my cache to find the latest work. > >> Is there no mileage in >> getting microSoft to fix the problem? I failed to find any history on >> the phenomenal analysis of this bug. > >http://clio.rice.edu/djgpp/w2kbug.zip contains the file ntvdmcrash - you >can see the date. This is the date it was reported to Microsoft. They >told me they might fix it in .net server, but no plans to put it in >service packs at that time. My original contact with Microsoft on this >was almost 2 years ago. That is unsurprisingly depressing! > >They made significant changes to the internal code of NTVDM between >SP2 and SP3 (different compiler?) that makes figuring out a patch >very time consuming. At the time the original patch was researched >we didn't have a fixed crt0 or release to build new images, much less >a binary patch for the DJGPP images. The research on the bug told us >how to fix it - it just so happened there was an easy internal fix >also. Now that there isn't, I suggest patching the DJGPP binaries >instead, or rebuilding them. I understand. > >> That URL has a link entitled "DJGPP 2.03 Update Page" to >> http://clio.rice.edu/djgpp/win2k/main_203.htm >> I was able to use that informative page to download a set of files which >> allowed me to make -f Make_djg.mak to make vim without hitting the crash >> in ntvdm.exe which previously disturbed me. > >I'm glad you found it useful. It is too easy to voice difficulties and be silent on facilities. > >> That URL says it was "Released to Simtel January 8"; the year is not >> specified. > >Fixed. Confirmed! > >> A link entitled "gcc2953b.zip GCC 2.953" is dead; it has the >> comment "1781 Kb (or gcc30xb.zip from Simtel)". > >I'm unhappy these were removed from Simtel - but I've fixed the >link to the Clio version for those looking for 2.953. Plausible new link is in place. I did not test it. > >> I preferred to grab the later file; I was too lazy to hunt for it; > >I added a link. Also plausible. > >> It (main_203.htm) has a link entitled "Visit the the (sic) DJGPP Test > >fixed. Agreed! > It is wonderful to get such prompt action. It confirms the hope with which I think I have joined the djgpp-workers mailing list. (There is behaviour in the 2.03 makes which I think is bugged. make -n goes into an infinite loop with the following in W2K SP3 with cmd.exe as the "shell". It works as intended with W95 and COMMAND.COM. --directory fixes it. The responsible developer is suspicious of a technique viewed as "unportable". C:\wfb\vim\bld\vim61\src\controller> nl -ba Makefile 1 # 2 # Makefile for VIM on MSDOS, using DJGPP 2.0 3 # 4 # When Who What 5 # whenever Anon Vim 6.1 src/Make_djg.mak 6 # 2003-03-29 W.Briscoe truncated to show W2K SP3 infinite loop on make -n 7 # 8 9 controllee/xxd.exe: controllee/xxd.c 10 cd controllee 11 $(MAKE) 12 cd .. 13 C:\wfb\vim\bld\vim61\src\controller> nl -ba controllee/Makefile 1 # The most simplistic Makefile, for DJGPP on MS-DOS 2 # 3 # When Who What 4 # whenever Anon Vim 6.1 src/Make_djg.mak 5 # 2003-03-29 W.Briscoe truncated to show W2K SP3 infinite loop on make -n 6 7 xxd.exe: xxd.c 8 copy xxd.c xxd.exe C:\wfb\vim\bld\vim61\src\controller> make -n cd controllee c:/djgpp/bin/make.exe make.exe[1]: Entering directory `c:/wfb/vim/bld/vim61/src/controller' cd controllee c:/djgpp/bin/make.exe make.exe[2]: Entering directory `c:/wfb/vim/bld/vim61/src/controller' cd controllee c:/djgpp/bin/make.exe ... make.exe[33]: Entering directory `c:/wfb/vim/bld/vim61/src/controller' cd controllee c:/djgpp/bin/make.exe make.exe[33]: *** [controllee/xxd.exe] Error -1 make.exe[33]: Leaving directory `c:/wfb/vim/bld/vim61/src/controller' make.exe[32]: *** [controllee/xxd.exe] Error 2 make.exe[32]: Leaving directory `c:/wfb/vim/bld/vim61/src/controller' ... make.exe[2]: *** [controllee/xxd.exe] Error 2 make.exe[2]: Leaving directory `c:/wfb/vim/bld/vim61/src/controller' make.exe[1]: *** [controllee/xxd.exe] Error 2 make.exe[1]: Leaving directory `c:/wfb/vim/bld/vim61/src/controller' make.exe: *** [controllee/xxd.exe] Error 2 C:\wfb\vim\bld\vim61\src\CONTRO~1> rem Why does make (and any 16 bit program) mangle my prompt C:\wfb\vim\bld\vim61\src\CONTRO~1> which make C:/DJGPP/BIN/make.exe C:\wfb\vim\bld\vim61\src\CONTRO~1> make cd controllee c:/djgpp/bin/make.exe make.exe[1]: Entering directory `c:/wfb/vim/bld/vim61/src/controller/controllee' copy xxd.c xxd.exe 1 file(s) copied make.exe[1]: Leaving directory `c:/wfb/vim/bld/vim61/src/controller/controllee' cd .. C:\wfb\vim\bld\vim61\src\CONTRO~1> ) I recognise that a new thread might have been better for this. I am hoping to avoid doing any more work on it. (It is incidental to my work on vim.) -- Walter Briscoe