Unexpected CPU exception 0x0d
Brought to you by:
bartoldeman
Hi,
I'm trying to run some old BBS door game programs. They work okay in DOSBox, but they cause Dosemu to crash. But I need them to work in Dosemu in order to use them on my Synchronet BBS.
Below please find the error message I got at the command line, and below that please find the contents of boot.log.
COMMAND LINE OUTPUT:
ERROR: unexpected CPU exception 0x0d err=0x00000000 cr2=000010a1 while in vm86 (DOS)
Program=sigsegv.c, Line=193
EIP: 4d74:00000091 ESP: 5d22:00003ff8 VFLAGS(b): 00000 01110010 10010111
EAX: 0104572b EBX: 00000064 ECX: 00000037 EDX: 00000043 VFLAGS(h): 00007297
ESI: 00000264 EDI: 0000006c EBP: 00003ffa DS: 5000 ES: 0040 FS: 0000 GS: 0000
FLAGS: CF PF AF SF IF NT RF VM VIF IOPL: 3
STACK: 00 fc 46 72 d1 02 74 4d 8a 00 -> 13 00 00 00 95 05 ac 05 00 00
OPS : e8 3c 02 f7 d0 f7 d2 b9 37 00 -> f7 f1 a3 c4 cf 1e 0e 1f ba 38
f7f1 4d74:0091 div cx
BOOT.LOG:
CONF: config variable parser_version_3 set
CONF: config variable c_system set
CONF: Parsing built-in dosemu.conf file.
CONF: config variable version_3_style_used set
CONF: Parsing built-in global.conf file.
CONF: config variable version_3_style_used unset
CONF: config variable version_3_style_used set
CONF: opened include file /etc/dosemu/dosemu.conf
CONF: closed include file /etc/dosemu/dosemu.conf
CONF: mapping driver = 'auto'
debug flags: -a+cw
CONF: Disabling use of pentium timer
CONF: dosbanner on
CONF: timer freq=18, update=54925
CONF: CPU set to 586
CONF: JIT CPUEMU set to 0 for 586
CONF: 8192k bytes EMS memory
CONF: EMS-frame = 0xe400
CONF: DPMI-Server on (0x5000)
CONF: DPMI base addr = 0xffffffff
CONF: PM DOS API Translator on
CONF: No DJGPP NULL deref checks: off
CONF: 8192k bytes XMS memory
CONF: dosemu not running on console
CONF: time mode = 'bios'
SER: directory /var/lock namestub LCK.. binary No
MOUSE: /dev/input/mice, type 7 using internaldriver: yes, emulate3buttons: no baudrate: 0
CONF: Keyboard-layout keyb-user
CONF: Keyboard-layout us
CONF: **** Warning: floppy /dev/fd0 not accessible, disabled
CONF: fastfloppy = 1
CONF: IPX support off
CONF(LPT0) f: (null) c: lpr -l t: 20 port: 0
CONF(LPT1) f: (null) c: lpr -l -P lpt2 t: 20 port: 0
CONF: not allowing speaker port access
CONF: Packet Driver enabled.
device: /home/bbs/.dosemu/drives/c type 4 h: -1 s: -1 t: -1 drive C:
device: /etc/dosemu/drives/d type 4 h: -1 s: -1 t: -1 drive D:
CONF: cdrom MSCD0001 on /dev/cdrom
CONF: config variable c_system unset
Linux kernel 2.6.32; CPU speed is 2791350000 Hz
CPU-EMU speed is 2791 MHz
CONF: mostly running as USER: uid=1001 (cached 1001) gid=1002 (cached 1002)
DBG_FD already set
DOSEMU-1.4.0.8 is coming up on Linux version 2.6.32-5-amd64 #1 SMP Mon Sep 23 22:14:43 UTC 2013 x86_64
Compiled with GCC version 4.4.5 -m64
WARN: vm86plus service not available in your kernel
WARN: using CPU emulation for vm86()
CONF: reserving 640Kb at 0x00000 for 'd' (Base DOS memory (first 640K))
CONF: reserving 48Kb at 0xF4000 for 'r' (Dosemu reserved area)
CONF: reserving 128Kb at 0xA0000 for 'v' (Video memory)
PKT: Cannot open raw sockets: Operation not permitted
CONF: reserving 8256Kb at 0x100000 for 'x' (Extended memory (HMA+XMS))
Registering HWRAM, type=e base=0x40c2a000 size=0x400000
CONF: reserving 4096Kb at 0x40C2A000 for 'e' (VGAEMU LFB)
CONF: reserving 12Kb at 0xC0000 for 'V' (VGAEMU Video BIOS)
SERIAL $Id$
CONF: reserving 16Kb at 0xE4000 for 'E' (EMS page frame)
CONF: reserving 16Kb at 0xE8000 for 'E' (EMS page frame)
CONF: reserving 16Kb at 0xEC000 for 'E' (EMS page frame)
CONF: reserving 16Kb at 0xF0000 for 'E' (EMS page frame)
CONF: reserving 132Kb at 0xC3000 for 'U' (Upper Memory Block (UMB, XMS 3.0))
TIME: using 9154 usec for updating ALRM timer
======================= ENTER CPU-EMU ===============
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4add97, cr2=123f, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
* Fault out of DOSEMU code, cs:eip=33:4abd40, cr2=124b, fault_cnt=1
==============================================================
CPU exception 0x00 err=0x00000000 cr2=000010a1 eip=7fe667b2598a
==============================================================
==============================================================
CPU exception 0x0d err=0x00000000 cr2=000010a1 eip=0047934d
==============================================================
ERROR: unexpected CPU exception 0x0d err=0x00000000 cr2=000010a1 while in vm86 (DOS)
leavedos(dosemu_fault1|204) called - shutting down
leavedos() called from within a signal context!
======================= LEAVE CPU-EMU ===============
Josh, please post more information about what specific program and version this is, it's impossible to debug otherwise. Have other similar programs worked? I have had few problems with door games personally (although using v86 mode instead of cpusim).
Ryan, the door game was Jezebel v1.2.
Using the latest git, Jezebel no longer completely crashes dosemu. But jezebel.exe still generates "Runtime error 200 at 1363:0091" when I try to run it. The boot.log has:
======================= ENTER CPU-EMU ===============
CPUEMU: stack patch failure, fix source code!
==============================================================
CPU exception 0x00 err=0x00000000 cr2=000010a1 eip=7f6b9bc5a222
==============================================================
==============================================================
CPU exception 0x00 err=0x00000000 cr2=000010a1 eip=7ffe00009181
==============================================================
Last edit: Josh Renaud 2015-05-09
Try the generic patch for it. More on the RTE 200 problem:
http://en.wikipedia.org/wiki/Runtime_error_200