delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/01/07/04:11:42

Date: Wed, 7 Jan 1998 11:11:38 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Sed Johnson <oplop AT mailexcite DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: Error: Invalid TSS in RMCB?
In-Reply-To: <NCIDJLNKAFEDAAAA@mailexcite.com>
Message-ID: <Pine.SUN.3.91.980107111114.4858K-100000@is>
MIME-Version: 1.0

On Tue, 6 Jan 1998, Sed Johnson wrote:

> It doesn't always happen, even under similar 
> conditions, but when it does, it crashes my program
> with the message:
> 
> Abort!
> Invalid TSS in RMCB at eip=3bae0;

There are at least two problems here.  The first one is that your
program somehow calls the `abort' library function (which is why
"Abort!" is printed).  If you do that on purpose, fine; but if you
don't, you will need to figure out why does `abort' get called.

The second problem has to do with a subtle bug in DJGPP v2.0 whereby
calling `abort' would bypass the code that uninstalls the hardware
interrupt and exception handlers installed by the DJGPP startup code.
This bug usually only shows in nested DJGPP programs (when one program
invokes another) because DPMI server would not clean up after the
child program exits (since the parent program still runs).  The upshot
of this is that the keyboard interrupt is left pointing into the blue,
and if you happen to press a key during that time, you get the crash
with the above error message.

Upgrading to DJGPP v2.01 will make the second problem go away.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019