delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/02/26/10:02:40

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10102261455.AA12248@clio.rice.edu>
Subject: Re: Eradicating djgpp W2000 problem
To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
Date: Mon, 26 Feb 2001 08:55:37 -0600 (CST)
Cc: michael DOT allison2 AT sympatico DOT ca (Michael Allison), djgpp AT delorie DOT com
In-Reply-To: <Pine.SUN.3.91.1010226084837.21073J-100000@is> from "Eli Zaretskii" at Feb 26, 2001 08:49:29 AM
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> > > Let's constructively try to come up with the absolute minimum set
> > > of two programs that can cause the problem to occur, as a start
> > > to understanding it.
> > 
> > There is obviously more to reproducing this problem than
> > nesting djgpp programs as people claim.  The code below
> > went to 6 levels of nesting fine on Windows 2000 professional.
> 
> Charles, could you please tell what sequence of program invocations did 
> you use when you looked into this problem?

The crashes occur "randomly" - by that I mean if you run the exact same
sequence 10 times it may work 9 times out of 10.

I also observed once (I believe... hard to be sure when you only see it once)
a crash in GCC alone - only a single nesting.

The probability of a crash seems to go up with more nestings.  As noted, it
is something more complex than just nesting - hooking hardware interrupts,
freeing DPMI resources or DOS memory in some complex manner is probably
required.

I would be interested in seeing how changing the sbrk() algorithm changes
the crash frequency.  How disabling hooking hardware interrupts changes the
crash frequency.  How disabling hooking exceptions changes the frequency.
Something as simple as putting a wait into the final exit code to see if 
that reduces the crashes.

Because of the random nature - and only being observed on nested processes -
I'm guessing the cause is something related to both.

- Raw text -


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