delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/03/23:28:27

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: GPF decoding
Date: Wed, 27 Aug 1997 13:16:08
Organization: Aspen Technology, Inc.
Lines: 22
Message-ID: <34042898.sandmann@clio.rice.edu>
References: <3403DAF8 DOT 7841 AT post DOT comstar DOT ru>
Reply-To: sandmann AT clio DOT rice DOT edu
NNTP-Posting-Host: spica.dmccorp.com
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

> Exiting due to signal SIGSEGV
> General Protection Fault at eip=1cf8b; flags=3016
> eax=00030000 ebx=0000000d ecx=ffffffff edx=30202020 esi=30202020
> edi=30202020
> ebp=0000000d esp=00033260 cs=a7 ds=af es=af fs=b7 gs=bf ss=af error=0000
> 
> Are any ways to decode it? symify ,obviously, don't work since call
> frame traceback is absent.

Get into a debugger and disassable the memory location at eip 1cf8b - this
will usually tell you the module in which it is located.  You need to 
then figure out what line of code that is associated with (create an .s
file instead of compiling is helpful).  Look at the values in the registers
and compare that with the location you were executing.  It should be
obvious what the problem is at that point - back track the code to see
where the bad pointer came from (edx, esi, edi appear to have text loaded
into them, esp is either on the internal locked stack or a switched stack).

I would guess you have nested exceptions or an exception in an interrupt
handler.  Beware - there is a bug in QDPMI which does not disable interrupts
in exception handlers and it sometimes trashes it's internal exception
stack.  If your EIP is in exceptn.s, that may be the problem.

- Raw text -


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