Date: Thu, 9 Sep 1999 09:23:28 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Josh Reed cc: djgpp AT delorie DOT com Subject: Re: Program Crash In-Reply-To: <37D71D7D.A31105CD@uswest.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 8 Sep 1999, Josh Reed wrote: > I have a program that I compiled with DJGPP that dies > half-way through execution. Does it print registers' dump and call frame traceback? If so, please post them here (after running SYMIFY, see section 9.2 of the FAQ for details). > I used gdb on it and here is > what it said: > Program recieved signal SIGILL, Illegal instruction. > 0x1600 in scan (path=Cannot access memory at address > 0x2a2e2a64.) at audit.cpp:43 > > Line 43 in Audit.cpp: > if (((DTA.ff_attrib >= 16) && (DTA.ff_attrib <= 31)) || > (DTA.ff_attrib >= 48)) Seems like your memory is trashed. See that "Cannot access memory" message from GDB? It means a garbled pointer, and the address it prints is surely garbled. Try to find out how come the variable `path' gets garbled, and you might unlock this problem. Some of the techniques for debugging these problems are described in section 12.2 of the FAQ; be sure to read that.