Menu

#535 dosdata.sys from QEMM crashes DOSEMU

fixed_in_git
open
nobody
None
5
2014-05-28
2014-05-25
Julius
No

When I have DOSDATA.SYS from QEMM in my CONFIG.SYS, DOSEMU crashes with the following output:

ERROR: unexpected CPU exception 0x06 err=0x00000000 cr2=00000000 while in vm86 (DOS)
Program=sigsegv.c, Line=193
EIP: 000a:00000a58 ESP: 9fc9:00000106  VFLAGS(b): 00000 00000111 10010010
EAX: 0000ff8e EBX: 0000f000 ECX: 00000000 EDX: 00004cc9 VFLAGS(h): 00000792
ESI: 00000119 EDI: 00000070 EBP: 00000200 DS: 0070 ES: 0000 FS: 0000 GS: 0000
FLAGS: AF SF TF IF DF RF VM VIF  IOPL: 0
STACK: 00 9c 46 32 0d 0a 0a 00 26 83 -> 7d 20 00 c3 e8 3f f0 33 f6 e8
OPS  : 00 00 00 00 00 00 00 00 00 00 -> ff ff ff ff ff 4e 4f 20 4e 41
        ff                  000a:0a58 db FF

This is with the current version from GIT and MS-DOS 6.22.

Discussion

  • Stas Sergeev

    Stas Sergeev - 2014-05-25

    While in theory this could work, I wonder
    why should we care...
    Is this on 32 or 64bit system?
    Should be checked on 32.

     
    • Julius

      Julius - 2014-05-27

      On a 32-bit bit system, the driver errors out with a message it should be the first loaded driver. DOSEMU doesn't crash.
      (Also QEMM detects correctly now that it's running on an 80386, this does not work on my 64-bit system.)

       
  • Julius

    Julius - 2014-05-25

    It's on a 64-bit system. I don't think it's very important, but I suppose that DOSEMU shouldn't crash. That's the reason I reported the bug.

     
  • Stas Sergeev

    Stas Sergeev - 2014-05-28

    On a 32-bit bit system, the driver errors out with a message
    it should be the first loaded driver. DOSEMU doesn't crash.

    Then it is probably a cpuemu bug...
    Don't count on a quick fix. :)

    (Also QEMM detects correctly now that it's running on an 80386,
    this does not work on my 64-bit system.)

    And what it detects under 64bit?

     
    • Julius

      Julius - 2014-05-28

      It just says it needs a 386. I've attached a screenshot. I'm not sure how its detection routines work.

       
  • Stas Sergeev

    Stas Sergeev - 2014-05-28

    This is a cpuemu bug then.
    I guess maybe popf (or pushf) doesn't work
    as expected wrt IOPL and NT parts of the flag
    register. The tests for 386 usually involve this.
    Can you set cpu to 286 in dosemu.conf and
    see will there be the same error on 32bit system?

     
    • Julius

      Julius - 2014-05-28

      With the CPU set to 286, it seems the error is not the same. There is a report about the CPU already being in virtual-8086 mode, but I do not get the message it needs a 386.

       

Log in to post a comment.