Mail Archives: djgpp/1997/05/01/08:59:15
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!<nosymbols>
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.
- Raw text -