delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/10/13/07:58:30

Date: Fri, 13 Oct 2000 13:25:03 +0200
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Sender: halo1 AT zahav DOT net DOT il
To: Corelli Marco <mcorelli AT gtwparc DOT padova DOT ccr DOT it>
Message-Id: <8011-Fri13Oct2000132503+0300-eliz@is.elta.co.il>
X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.5h
CC: djgpp AT delorie DOT com
In-reply-to: <39E6C1EB.58AED5F3@gtwparc.padova.ccr.it> (message from Corelli
Marco on Fri, 13 Oct 2000 10:03:55 +0200)
Subject: Re: Accesing from 0xFFFF:F000 to 0xFFFF:FFFF physical memory address
References: <39E5E00A DOT 39A80E46 AT gtwparc DOT padova DOT ccr DOT it> <7263-Thu12Oct2000193356+0300-eliz AT is DOT elta DOT co DOT il> <39E6C1EB DOT 58AED5F3 AT gtwparc DOT padova DOT ccr DOT it>
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

> From: Corelli Marco <mcorelli AT gtwparc DOT padova DOT ccr DOT it>
> Newsgroups: comp.os.msdos.djgpp
> Date: Fri, 13 Oct 2000 10:03:55 +0200
> 
> this messagge appear:

There are several strange things about this crash message (see below).
Is it possible that you've typed the message by hand, instead of
saving it to a file, or copy/paste it from the DOS box?  If so, please
post here the *exact* message text, because any typos can totally
change its meaning.

> -----------------------------
> Exiting due to signal SIGSEV
> Page fault at eip=00003cda, error=0004
> eax=000000c7 ebx=00010000 exc=00000000 edx=00000000 esi=00000054
                            ^^^
This should have been ECX, not EXC.  Also, the EDI regiser is
missing.

> edp=00091ba8 esp=00091ba8 program=xxxx
  ^^^
This should have been EBP, not EDP.  In addition, usually EBP and ESP
have different values, but perhaps that, too, is a typo.

> cs : sel=00a7 base=10000000 limit=0009ffff
> ds : sel=00a7 base=10000000 limit=0009ffff

This shows that DS and CS are loaded with the same selector!  This
simply cannot happen, because protected mode doesn't allow to use a
data segment for code and vice versa.  Another typo?

> es : sel=00c7 base=10000000 limit=0009ffff

The value of ES should usually be the same as DS and SS.  Are you sure
you really saw 00c7?  (That's not even a valid selector for a data
segment.)

> fs : sel=00a7 base=ffff0000 limit=0000ffff

This is the strangest thing of all: FS is loaded with the same value
as DS/CS.  Since you told that the program crashes inside the call to
_farpeekb, FS should be loaded with the selector created by
selector_physical_address, which should normally be different from DS.
Are you sure the above line is accurate?

If the FS line is accurate, it means that somehow you've changed the
base address and the limit of your DS selector, which certainly would
cause the program to crash.  However, the values printed for DS
(above) are different, so it's probably another typo.

> gs : sel=00bf base=00000000 limit=0010ffff
> ss : sel=00af base=10000000 limit=0009ffff

There's the stack limits data missing here.  Are you using DJGPP
v2.01?  If so, please upgrade.

> call frame traceback EIPc:
> 0x00003cda
> 0x00001c4d
> 0x00001906
> 0x00003512

I asked to run the SYMIFY utility on this traceback, so that will show
where exactly in your code does the program crash.  Without the output
of SYMIFY, this traceback is useless.  (If you don't know what SYMIFY
is and how to use it, please see section 9.3 of the DJGPP FAQ list.)

To summarize: please post an exact text of a crash message, without
any typos, after running SYMIFY on it, and identify the source line
that corresponds to the topmost EIP address (0x00003cda in the above
message).  Without that, it's impossible to help you solve your
problem.

- Raw text -


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