WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] refcount errors then crash on XenoLinux with the latest

To: Kip Macy <kmacy@xxxxxxxxxxx>
Subject: Re: [Xen-devel] refcount errors then crash on XenoLinux with the latest source
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Tue, 24 Feb 2004 08:40:46 +0000
Cc: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 24 Feb 2004 08:43:32 +0000
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: Your message of "Mon, 23 Feb 2004 17:11:13 PST." <20040223165800.D71501@xxxxxxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
> > 'objdump -d xen >xen.s'. Then you can search in xen.s with a text
> > editor to find the call-trace addresses.
> 
> I did this and got what you see below. It looks like to backtraces
> interleaved. All of the values in brackets are legitimate return
> addresses (they immediately follow a call instruction). "function addr"
> is the address of the function itself and "ret addr" is the address
> taken from the oops.

Yeah, we cannot precisly print the call trace because we build Xen
with '-fomit-frame-pointer', even when doing a debug build. If we
included a frame pointer then we could "chase" register %ebp to find
the true call trace.

As it is, we just look at the entire stack contents and enclose in
square brackets any value that could correspond to an address between
labels '_start' and '_end' in Xen.

The effect of this is that if you have stale return addresses on your
stack then they get included on the approximate call trace. These
stale addresses may occur because the stack frame was popped, then
another functyion invocation has pushed itself a large stack frame
that encompasses teh stale one, but hasn't blown away all of the stale
contents. 

 -- Keir


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel