Re: Crash on app startup with cpuemu=vm86(corrected)
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.
Thanks,
Andrew
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
FLAGS: PF ZF IF RF VM VIF IOPL: 3
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
> (http://v86-64.sourceforge.net/) 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 http://vger.kernel.org/majordomo-info.html
[Linux Console]
[Audio]
[Hams]
[Kernel Newbies]
[Memory]
[Security]
[Netfilter]
[Bugtraq]
[Yosemite Camping]
[Yosemite Photos]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Samba]
[Video 4 Linux]
[Linux Resources]
[Fedora Users]