Re: Crash on app startup with cpuemu=vm86(corrected)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi Bart,
	The original crash report was against SVN 1988, I've pasted it in below for 
ease. Do I need to post the whole thing, or is this segment enough? What 
should I do next to help fix the problem? Unfortunately I can't post or pass 
on the executable that caused it.



EMU86: directly calling int 0x10 ax=0x20e at 0xf800:0x6330
SetSeg REAL CS:f800
SetSeg REAL SS:2390
SetSeg REAL DS:2390
SetSeg REAL ES:b800
SetSeg REAL FS:0000
SetSeg REAL GS:0000
INTERP: enter=000fe330
SetSeg REAL CS:f000
INTERP: exit=000fc010 err=13
EMU86: retval=VM86_UNKNOWN
Sys timers d=0
Do INT0x10: Using caller_function()
3d4 { 40e
3d4 { 820f
SetSeg REAL CS:1091
SetSeg REAL SS:2390
SetSeg REAL DS:2390
SetSeg REAL ES:b800
SetSeg REAL FS:0000
SetSeg REAL GS:0000
INTERP: enter=000109a6
SetSeg REAL CS:0d69
** JMP: ignored
SetSeg REAL CS:901f
SetSeg REAL CS:1be6
** JMP: ignored
SetSeg REAL CS:958f
SetSeg REAL CS:10f6
SetSeg REAL CS:958f
leavedos(47810|0xbac2) called - shutting down

killed while in vm86(), trying to dump DOS-registers:
Program=emu.c, Line=492
EIP: 1091:00000096 ESP: 2390:0000e9a2  VFLAGS(b): 00000 00110010 01000110
EAX: 0104020e EBX: 00000000 ECX: 00000050 EDX: 00000e22 VFLAGS(h): 00003246
ESI: 0000ebe4 EDI: 00000904 EBP: 0000e9a8 DS: 2390 ES: b800 FS: 0000 GS: 0000
STACK: 1c 00 00 00 96 00 91 10 46 32 -> 97 32 90 23 90 23 d4 ec 5c 08
OPS  : 03 90 8a f0 33 db b4 02 cd 10 -> 9d 07 1f 5d ca 0a 00 00 00 00
        9d                  1091:0096 popf
closing debugger pipes

On Monday 26 October 2009, Bart Oldeman wrote:
> On Sun, Oct 25, 2009 at 7:40 PM, Andrew Bird (Sphere Systems)
> <ajb@xxxxxxxxxxxxxxxxxxx> wrote:
> > My understanding of $_cpu_emu=vm86 is that it's also simulated by
> > software, just that it's done on demand and cached.
> You are 100% right here. Chunks of vm86 code are translated to 64-bit
> native long mode code and then executed. With vm86sim the code is
> interpreted instead of translated.
> On i386 kernels, DOSEMU can use the vm86 syscall which is native, but
> on x86-64 it can't, at least without a special kernel module
> ( which switches the CPU from long to
> legacy mode and back, somewhat tricky.
> What you are running into is a bug in DOSEMU, where it uses a JIT
> emulator to execute vm86 code (the default on x86-64, and also used
> when $_cpu_emu="off" there). The bug is not present in the slower, but
> sometimes more reliable simulator. You could try current SVN to see if
> it fixed it, because there have been quite a few emulator fixes. I'm
> sorry I haven't had time to do a new release so far.
> Bart

To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux