From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Subject: Re: EMM386 & NOEMS (was starting) To: babcock AT cfa DOT harvard DOT edu Date: Tue, 22 Feb 1994 21:12:35 -0600 (CST) Cc: djgpp AT sun DOT soe DOT clarkson DOT edu > > Beware, all V1.11 versions leave the Ctrl-Break address undefined when > > exiting under DPMI. This is a major wedge causer under V1.11 and hopefully > > will get fixed in maint4. > > Ouch. Ctrl-break after exiting go32 in an OS/2 window gave a Trap E, killing > OS/2. Vector 0 (divide by zero) also seems to be left pointing into the ack! > ozone. I assembled a DIV AX instruction in debug and set a breakpoint > immediately after it. Before running go32, I got a divide by zero error, > afterwards, OS/2 hung with no message. A before/after comparison of the ack! ack! where is the protection when you need it? Maybe sell this to Gates? > interrupt vector table showed all other vectors unchanged. Assuming this > gets fixed in maint4, will it also be fixed if you abend with a swap file > full or other error? The Ctrl-Break address will most likely be fixed in maint4 since we know a fix for this one. The div 0 vector is much harder, since TC modifies it before we see it and the DPMI exit procedure never gives TC a final chance to do cleanup. This problem has been around since V1.10, and I don't know a good fix other than writing the extender in something other than TC (such as V2.0 does). If anyone has suggestions on this, send them directly to me.