ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/11/08/15:24:59

From: mcastle AT cs DOT umr DOT edu
Subject: Re: exceptioon 6
To: 9041477 AT SSCvax DOT CIS DOT McMaster DOT CA (Eric Ho)
Date: Fri, 6 Nov 92 16:54:12 CST
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

> 
> 
> Could anyone please tell me what exception is all about?
> 
> While I am compiling my program (source code over 1meg) I get a message
> exception 6 at eip=xxxxx where xxxxx is some address.
> 
> Regards,
> Eric
> 

Exception 6 is invalid op code.

I had this same problem when compiling a large file (600k+).  When run under
debug32, I discovered the compile proper required 16M to do all the necessary
computations.  I can imagine how much memory you are going to need to do a
1M file :-> (aside: what is the memory complexity of compilation, or is it
NP?)

As slight possibility is that memory gets corrupted swapping back and forth,
and something gets munged (though I would think this unlikely in that go32
always reads code back in from the a.out file, right?)

unless, when swapping a page table, the pt gets munged and decides to point 
into data somewhere :->

Anyway, what I had to do to get around this was strip _EVERYTHING_ out of
memory to give go32 all I could.  To compile the one file took 45 minutes.
I used debug32 instead of go32, but I'm not sure if this solved the problem
(I wouldn't think it would make a difference), but it's neat to watch the 
little number across the top... gives you something to do while you harddrive
thrashes. :->

actually, under debug32, i would get a page fault often (exception 14).  
I don't know how to go about trying to find the problem.  It took me 3 attempts
to get it to compile (same circumstances each time, that's why I think it may
be a memory-disk-memory thing as it managed to work at least once).

You might try breaking the source up into smaller files, if possible.  I 
couldn't because most of the source was a huge array for a state-machine
which was pretty much hard coded.  It also wasn't my code and I didn't want
to mess around with it.

I haven't tried compiling the file with 1.09 (too scared to :-), so I don't
know if the problems still there.

Well, about all I have to say on the subject.  Try striping everything out
of memory and trying it a few time... you might get lucky :->

regards,
mrc

- Raw text -


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