Crash in 16-bit code

André Johansen andrejoh at c2i.net
Tue Oct 7 14:50:46 CDT 2003


* Jukka Heinonen wrote:
| Unfortunately trace does not
| contain information about where the crash happened but I guess
| since this bug is in the same routine called on the last lines
| of trace (trace:int:MSCDEX_Handler CDROM device driver -> command <128>),
| fixing this bug may help.

Is it possible to add more trace messages somewhere or get a larger
call-stack?


| Please, if you can, try the patch below and report what happens.

Didn't seem to change anything:

$ wine --debugmsg +int,+int31 ./Setup
fixme:cdrom:CDROM_GetInterfaceInfo CD-ROM device (11, 0) not supported
err:wave:OSS_WaveOutInit /dev/mixer1: No such device
err:wave:OSS_WaveInInit /dev/mixer1: No such device
trace:int:DOSVM_HardwareInterruptPM builtin interrupt 31 has been invoked (through vector 31)
trace:int31:DOSVM_Int31Handler Simulate real mode interrupt 2f.
trace:int:DOSVM_Int2fHandler Subfunction 0x150D
trace:int:MSCDEX_Handler Get drive letters
trace:int:DOSVM_HardwareInterruptPM builtin interrupt 31 has been invoked (through vector 31)
trace:int31:DOSVM_Int31Handler Simulate real mode interrupt 2f.
trace:int:DOSVM_Int2fHandler Subfunction 0x1510
trace:int:MSCDEX_Handler CDROM device driver -> command <12>
trace:int:MSCDEX_Handler  --> IOCTL OUTPUT <2>
fixme:cdrom:CDROM_GetStatusCode Unmapped error code 13: Permission denied
trace:int:MSCDEX_Handler  ----> RESET
trace:int:DOSVM_HardwareInterruptPM builtin interrupt 31 has been invoked (through vector 31)
trace:int31:DOSVM_Int31Handler Simulate real mode interrupt 2f.
trace:int:DOSVM_Int2fHandler Subfunction 0x1510
trace:int:MSCDEX_Handler CDROM device driver -> command <128>
fixme:cdrom:CDROM_GetInterfaceInfo CD-ROM device (11, 0) not supported
wine: Unhandled exception (thread 000c), starting debugger...
fixme:cdrom:CDROM_GetInterfaceInfo CD-ROM device (11, 0) not supported
WineDbg starting on pid b
Loaded debug information from ELF 'wine' ((nil))
Breakpoint 1 at 0x4000cf70 (_end+0x400b824)
Loaded debug information from ELF '/home/andrej/local/wine/lib/libntdll.dll.so' (0x40017000)
Loaded debug information from ELF '/home/andrej/local/wine/lib/libwine.so.1' (0x400ab000)
Loaded debug information from ELF '/home/andrej/local/wine/lib/libwine_unicode.so.1' (0x400c2000)
No debug information in ELF '/lib/tls/libpthread.so.0' (0x401c9000)
No debug information in ELF '/lib/tls/libm.so.6' (0x401d7000)
No debug information in ELF '/lib/libdl.so.2' (0x401f9000)
No debug information in ELF '/lib/ld-linux.so.2' (0x40000000)
Loaded debug information from ELF '/home/andrej/local/wine/lib/wine/kernel32.dll.so' (0x401fe000)
No debug information in 32bit DLL 'D:\Mainx01.exe' (0x400000)
No debug information in 32bit DLL 'C:\WINDOWS\SYSTEM\NTDLL.DLL' (0x40040000)
No debug information in 32bit DLL 'C:\WINDOWS\SYSTEM\KERNEL32.DLL' (0x40230000)
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000).
In 32-bit mode.
0x00000000: addb        %al,0x0(%eax)
Wine-dbg>bt
Backtrace:
=>0 0x00000000 (ebp=0000311f)
  1 0x0040b4aa (Mainx01.exe.C0DE+0x44aa in Mainx01.exe) (ebp=0000311f, null call assumed)
Wine-dbg>cont
First chance exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:003b GS:0033
 EIP:00000000 ESP:40862e5c EBP:0000311f EFLAGS:00010246(  R- 00  I  Z- -P1 )
 EAX:0040bb77 EBX:0040b181 ECX:0000041d EDX:0000041d
 ESI:400499ea EDI:400991b8
Stack dump:
0x40862e5c (_end+0x572214):  0040b4aa 00000100 0040aa03 4009ff40
0x40862e6c (_end+0x572224):  00407162 40862e7c 4009fda0 0000311f
0x40862e7c (_end+0x572234):  4009e660 00000216 4006fc17 402f0b80
0x40862e8c (_end+0x572244):  40862ea4 00400100 401c0038 00407000
0x40862e9c (_end+0x572254):  405305e0 00000000 00000000 00000000
0x40862eac (_end+0x572264):  00000000 00000000 00000000 00000000
0x40862ebc (_end+0x572274):

Backtrace:
=>0 0x00000000 (ebp=0000311f)
  1 0x0040b4aa (Mainx01.exe.C0DE+0x44aa in Mainx01.exe) (ebp=0000311f, null call assumed)

0x00000000: addb        %al,0x0(%eax)


I'm unable to run the program directly from winedbg; I only get to
this point:

First chance exception: page fault in 16-bit code (0267:00c9).
In 16-bit mode.
Register dump:
 CS:0267 SS:026f DS:026f ES:026f FS:0000 GS:0000
 IP:00c9 SP:43da BP:0000 FLAGS:0246(   - 00  I  Z- -P1 )
 AX:0300 BX:002f CX:0000 DX:1001 SI:0348 DI:001a
Stack dump:
0x026f:0x43da:  0000 0000 008f 0000 0000 0000 0000 0000
0x026f:0x43ea:  0000 0000 0000 0000 0000 0000 0000 0000
0x026f:0x43fa:  0000 0000 0000 0000 0000 0000 0000 0000
0x026f:0x440a:

004d: sel=026f base=405914c0 limit=0000641f 16-bit rw-
Backtrace:
=>0 0x0267:0x00c9 (bp=0000)

0x0267:0x00c9: int      $0x31

(I've tried cont repeatedly, but nothing new happens.)

-- 
Try   Anarchy  Online   http://www.anarchy-online.com/content/downloads/tryout/
Netiquette guidelines   ftp://ftp.rfc-editor.org/in-notes/rfc1855.txt
How to quote properly   http://www.i-hate-computers.demon.co.uk/
Hvordan sitere riktig   http://home.online.no/~vidaandr/news/OBSquoting.html



More information about the wine-devel mailing list