DOSVM_Int31Handler/DOSVM_CallRMInt crash

Andreas Mohr andi at
Mon May 12 18:15:12 CDT 2003

Hi all,

when running Win98 explorer.exe, I finally get this crash:

First chance exception: page fault on read access to 0x00000084 in 32-bit code (0x406cb9a3).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:028f GS:0000
 EIP:406cb9a3 ESP:41052560 EBP:41052560 EFLAGS:00010202(  R- 00  I   - - 1 )
 EAX:00000021 EBX:406dc14c ECX:00000202 EDX:406dbfe6
 ESI:4105290c EDI:00000e38
Stack dump:
0x41052560 (_end+0x22dc24):  41052850 406c7b8c 00000021 00000000
0x41052570 (_end+0x22dc34):  00000000 00000000 00000000 00000000
0x41052580 (_end+0x22dc44):  400d9280 40308000 0000000a 41052650
0x41052590 (_end+0x22dc54):  00000040 400d9280 41052650 40308000
0x410525a0 (_end+0x22dc64):  410525bc 400d9280 410525bc 00000016
0x410525b0 (_end+0x22dc74):  41052638 400931eb 410525bc 400d9280
0x410525c0 (_end+0x22dc84): 

0051: sel=028f base=41063000 limit=00000fff 32-bit rw-
  0 0x406cb9a3 (DOSVM_GetRMHandler+0x7(intnum=0x21) [interrupts.c:455] in (ebp=41052560)
  1 0x406c7b8c (DOSVM_CallRMInt+0x28(context=0x4105290c) [int31.c:462] in (ebp=41052850)
=>2 0x406c9b63 (DOSVM_Int31Handler+0x15f7(context=0x4105290c) [int31.c:1067] in (ebp=410528dc)
  3 0x406cafc5 (DOSVM_IntProcRelay+0x9(context=0x4105290c, data=0x406c856c) [interrupts.c:121] in (ebp=410528e8)
  4 0x406cd1ca (RELAY_RelayStub+0xe(proc=0x406cafbc, args=0x4038fcae, context=0x4105290c) [relay.c:116] in (ebp=410528f8)
  5 0x400b57f0 (KERNEL32.DLL.__wine_call_from_16_regs+0x144 in 
  6 0x086f:0x0146 (bp=450e)
  7 0x0877:0x067d (bp=4522, far call assumed)
  8 0x0877:0x07d7 (bp=4546)
  9 0x07f7:0x07a9 (bp=45d6, far call assumed)
  10 0x07f7:0x0a34 (bp=45e2)
  11 0x07f7:0x0b54 (bp=4842)
  12 0x07f7:0x0c56 (bp=485e)
  13 0x07f7:0x0dbe (bp=487e)
  14 0x07b7:0x0251 (bp=49ac, far call assumed)
  15 0x07b7:0x0034 (bp=49b8)
  16 0x073f:0x0458 (bp=49da, far call assumed)
  17 0x073f:0x0411 (bp=49e4)
  18 0x071f:0x0331 (bp=4b2a, far call assumed)
  19 0x075f:0x0546 (bp=4cb0, far call assumed)
  20 0x075f:0x007b (bp=4cc2)
  21 0x079f:0x0130 (bp=4cd6, far call assumed)
  22 0x0447:0x3e2c (bp=4e06, far call assumed)
  23 0x02c7:0x6165 (bp=4e22, far call assumed)
  24 0x029f:0x03a4 (bp=4e32, far call assumed)

0x406cb9a3 (DOSVM_GetRMHandler+0x7 [interrupts.c:455] in movl 0x0(,%eax,4),%eax
456     }

I assume it's because the DOS memory area hasn't been unprotected/set up
(grrr, this kind of problem *again*!)

Where should this call sequence have activated the DOS memory area properly?

Help prevent Information Technology Fascism! - before it's too late...

More information about the wine-devel mailing list