I contacted Mr. Heinonen, and got the response below. So, he says the
problem is, it is 16 bit DPMI, which is rare, and the real problem is,
DOSVM has a bug which allows two simultaneous interrupts. I assured him I
was not asking anyone to work on the problem at all. I needed to get a
handle on it, I had thought it was a locked selector problem. Learning what
the real problem was, is a big help.
>Hi.
>
>
>I don't think that lock/unlock selector has anything to do with
>the crash. DOSVM interrupt handling still has a nasty bug which
>allows two interrupts to happen at the same time. Because interrupts
>are handled using exceptions and interrupt handlers do not catch
>exceptions, the exception raised by the nested interrupt causes
>crash due to unhandled exception (80000102). Fixing this bug is
>not a simple thing to do especially since real mode and protected
>mode DOS programs seem to require somewhat different fixes.
>
>
>Unfortunately I am not sure when (or even if) I will have time to
>look at this bug. Besides, I'm not even sure that I have DOS
>programs that work in 16-bit protected mode and that die due to this
>bug... I have plenty of real mode programs and 32-bit DPMI
>programs (which don't currently work by the way) to play with but
>16-bit DPMI seems to be a relatively rare thing.
> --- Bruce McGovern <brucemcgovern@earthlink.net> a ?crit : > A
lawyer
>in California is trying to change to linux. In CA, there are
> > a
> > number of programs required by the courts, and so far none are ported
> > to
> > linux at any price. His reason for wishing to change has to do with
> > the
> > fact that Microsoft now controls his access to his own files, and he
> > finds
> > this unacceptable.
> >
> > I tried one of his apps, an old DOS version of Abacus. Using the
> > WINe with
> > Redhat 7.3, I get an error:
> >
> > Warning: unprotecting the first 64KB of memory to allow real-mode
> > calls.
> > NULL pointer accesses will no longer be caught.
> > fixme:int31:INT_Int31Handler lock selector not supported
> > err:int31:INT_Int31Handler int31: unknown/not implemented parameters:
> > int31: AX 0a00, BX 0005, CX 0000, DX 0000, SI 2bb2, DI 2bb2, DS 0267,
> > ES 0267
> > wine: Unhandled exception, starting debugger...
> > err:seh:EXC_DefaultHandling Unhandled exception code 80000102 flags 0
> > addr 0x43
> >
> > After some Google research, I found DOS PROTECTED MODE INTERFACE
> > listing,
>Message: 4
>Date: Fri, 20 Sep 2002 15:38:58 +0200 (CEST)
>From: Ove Kaaven <ovehk@ping.uio.no>
>To: Bruce McGovern <brucemcgovern@earthlink.net>
>cc: wine-users@winehq.com
>Subject: Re: Abacus DOS problem Lock Selector
>
>
>On Wed, 18 Sep 2002, Bruce McGovern wrote:
>
> > I tried one of his apps, an old DOS version of Abacus. Using the WINe
> with
> > Redhat 7.3, I get an error:
> >
> > Warning: unprotecting the first 64KB of memory to allow real-mode
calls.
> > NULL pointer accesses will no longer be caught.
>
>Normal for DOS apps.
>
> > fixme:int31:INT_Int31Handler lock selector not supported
>
>Locking memory was only necessary in real DOS because paging out critical
>interrupt handlers and such under DOS was a recipe for disaster. It is not
>important under a virtual "DOS box" like the one Wine implements.
>
> > err:int31:INT_Int31Handler int31: unknown/not implemented parameters:
> > int31: AX 0a00, BX 0005, CX 0000, DX 0000, SI 2bb2, DI 2bb2, DS 0267,
> ES 0267
>
>"Get Vendor-Specific API entry point", not important
>
> > wine: Unhandled exception, starting debugger...
> > err:seh:EXC_DefaultHandling Unhandled exception code 80000102 flags 0
> addr 0x43
>
>Now this is what shouldn't happen. 80000102 is EXCEPTION_VM86_STI, which
>is a very normal condition raised by __wine_enter_vm86 (and the DOSVM
>event handling and signaling system), it should have been caught and
>handled by the DOSVM subsystem in winedos (by dispatching interrupts).
>Then again, if your app is a DPMI app, perhaps something does not handle
>this right once the app enters protected mode. (You could ask the last
>developer that I remember working on DPMI, Jukka Heinonen, I doubt I'll
>have much time to fix a not-so-minor problem like this myself.)
>
>
>
>--__--__--
>
>_______________________________________________
>wine-users mailing list
>wine-users@winehq.com
>http://www.winehq.com/mailman/listinfo/wine-users
>
>
>End of wine-users Digest
Bruce McGovern writing from Mexico City