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