On Wed, 07 Jul 2010 11:59:42 +0200, Reinhard Karcher <karcher1...@gmx.net> wrote: > Am 07.07.2010 11:12, schrieb bo...@geodb.org: >> Hello >> >> I'm running DOSEMU on Ubuntu 10.10 (AMD64). One of my application I use >> crashes with an "Invalid Opcode at..." when loaded. DOSEMU and "strace" >> reports the following: >> >> !!! Illegal op f0 ff 07 >> ============================================================== >> CPU exception 0x06 err=0x00000000 cr2=0009ce54 eip=0000c02b >> ============================================================== >> SIGILL while in vm86(): 11fe:a04b >> >> write(4, "!!! Illegal op f0 ff 07\n", 24) = 24 >> write(4, "================================"..., 63) = 63 >> write(4, "CPU exception 0x06 err=0x0000000"..., 60) = 60 >> write(4, "================================"..., 63) = 63 >> write(4, "SIGILL while in vm86(): 11fe:a04"..., 34) = 34 >> >> DEBUG tells me, that the instruction "f0 ff 07" is "LOCK INC WORD PTR >> [BX]". If I replace the LOCK prefix with a NOOP (-> "90 ff 07"), the >> illegal op and SIGILL don't occurs, but the application crashes (which >> has >> been foreseeable). >> > > My assembler guru told me the following: > Most probably the error occurred earlier, the LOCK prefix is not allowed
> on this instruction. That your application crashes is another hint in > this direction. > > My suggestion is to get the newest dosemucode from SVN at dosemu.sf.net, > if you can use svn and compile dosemu yourself. > > Reinhard > Thank a lot for your reply. I have downloaded the SVN and compiled it successfully. But I get the same behaviour. The application is working fine in DOSEMU on several 32-bit x86 system (there are around 10 computers I aware of). The problem only exist on the x86_64 platform. Your assembler guru told that the LOCK prefix is not allowed for this opcode. Can he provide me a hint to a document describing this ? If the application is run under plain DOS, it works on all computers from 286 up the newest ones. The only problem it had was a fast CPU bug which has been fixed. For this, I ask me, if this error is related to DOSEMU or the Linux Kernel itself. Or the application is really using opcodes, which shouldn't work, but does on real hardware... Andreas ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Dosemu-devel mailing list Dosemu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dosemu-devel