Newsgroups: comp.os.msdos.djgpp From: Steve Harris Subject: Crash under NT DOS shell Content-Type: text/plain; charset=us-ascii Message-ID: <3364A8C2.176F@cis.plym.ac.uk> Sender: news AT exeter DOT ac DOT uk (news admin) Reply-To: steve AT cis DOT plym DOT ac DOT uk Content-Transfer-Encoding: 7bit Organization: University of Plymouth Mime-Version: 1.0 Date: Mon, 28 Apr 1997 13:40:18 GMT Lines: 77 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I have a large and complex program (initially ported from Borland C++ 3.1), which I'm running in a DOS shell in NT workstation 4. For no apparent reason it crashes repeatedly causing an error in the call ntvdm!GetMSW. Dr Watson saves a logfile which includes this info: State Dump for Thread Id 0x7c eax=00010202 ebx=0ff60490 ecx=000001cf edx=00135fb0 esi=fffdffff edi=00135fac eip=0fed12ac esp=0111fe3c ebp=0111fe40 iopl=0 nv up ei pl nz ac po nc cs=001b ss=0023 ds=0023 es=01cf fs=003b gs=0000 efl=00000216 function: getMSW 0fed1282 8983c40a0000 mov [ebx+0xac4],eax ds:0ff60f54=00000206 0fed1288 8b83980b0000 mov eax,[ebx+0xb98] ds:0ff61028=000001cf 0fed128e 8ec0 mov es,eax 0fed1290 8bbb940b0000 mov edi,[ebx+0xb94] ds:0ff61024=00135fb0 0fed1296 0f02c0 lar eax,eax 0fed1299 a900004000 test eax,0x400000 0fed129e 7503 jnz getMSW+0x136 (0fed12a3) 0fed12a0 0fb7ff movzx edi,di 0fed12a3 8b83900b0000 mov eax,[ebx+0xb90] ds:0ff61020=00010202 0fed12a9 83ef04 sub edi,0x4 FAULT ->0fed12ac 268907 mov es:[edi],eax es:00135fac=???????? 0fed12af 8b838c0b0000 mov eax,[ebx+0xb8c] ds:0ff6101c=000001c7 0fed12b5 83ef04 sub edi,0x4 0fed12b8 268907 mov es:[edi],eax es:00135fac=???????? 0fed12bb 8b83880b0000 mov eax,[ebx+0xb88] ds:0ff61018=00013cb0 0fed12c1 83ef04 sub edi,0x4 0fed12c4 268907 mov es:[edi],eax es:00135fac=???????? 0fed12c7 83ef04 sub edi,0x4 0fed12ca 8b83840b0000 mov eax,[ebx+0xb84] ds:0ff61014=00135fbc 0fed12d0 268907 mov es:[edi],eax es:00135fac=???????? 0fed12d3 06 push es 0fed12d4 57 push edi *----> Stack Back Trace <----* FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name 0111fe40 0fed2617 77fa4510 01780200 7ffdf000 00000000 ntvdm!getMSW 0111ff3c 0fed7def ffffffff 0111ff80 0fedc436 00000002 ntvdm!VDDAllocateDosHandle 0111ff48 0fedc436 00000002 01780200 77fa4510 77f6c1a2 ntvdm!setCL 0111ff80 0fede974 00000002 01780200 01780230 77fa4510 ntvdm!demClientErrorEx 0111ffc0 77f1afc1 77fa4510 77f6c1a2 7ffdf000 c0000005 ntvdm!getES 0111fff0 00000000 0fede8a2 00000000 00000000 77fa4a00 kernel32!GetProcessPriorityBoost 00000000 0070018b 039d0016 0070018b 0070018b 021006b9 ntvdm! What does ntvdm!GetMSW do? Any ideas as to what might cause ntvdm to fall over at this location? It's being a pig to track down as the DOS shell text output doesn't keep up with cout, so the crash can stop the process *before* tracing comments get written to the screen! Cheers, Steve.