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] Catch crashing domains with GDB

To: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Catch crashing domains with GDB
From: Kip Macy <kip.macy@xxxxxxxxx>
Date: Wed, 16 Nov 2005 09:23:11 -0800
Cc: Simon Kagstrom <simon.kagstrom@xxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 16 Nov 2005 17:23:56 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=b3znwm/K5vHhgcxyD8pPRcLD6ZZssY8dIiyHHMHwZ+5zXo11ey6PRdmWuwm+8S01vbw2g5zi6WLj+lzPk+NuLNupdu1p/iauZwS9lq47DQ2XwkhEKN6ZJeL117S7vnMJm0FC4X8/wKD/7XJ+35kiIIke44ju6PHkWWL2pBFJRwQ=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <A95E2296287EAD4EB592B5DEEFCE0E9D32EA00@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <A95E2296287EAD4EB592B5DEEFCE0E9D32EA00@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx


On 11/16/05, Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx> wrote:

> > " should keep the domain hanging around -- I'd
> > imagine you'd be able to get gdb to give you a backtrace from there.
>
> Ah, I see. However, I tried adding that to the domain config,
> and the crashed domain is preserved:
>
>   [ska@cb mini-os]$ sudo xm list
>   Name                              ID Mem(MiB) VCPUs State  Time(s)
>   Domain-0                           0       64     1 r-----  1121.3
>   test                              56       32     1 --p-c-     0.1
>
> and I can also attach the gdbserver to the domain (with gdbserver-xen
> localhost:9999 --attach 56), but when I try to attach to the
> gdbserver with GDB I only get
>
>   (gdb) target remote localhost:9999
>   Remote debugging using localhost:9999
>   Couldn't establish connection to remote target
>   Remote communication error: Connection reset by peer.
>
> and the gdbserver then exits with
>
>   Remote debugging from host 127.0.0.1
>   Child exited with status 0
>   GDBserver exiting
>
> . Debugging works fine if I attach with the domain paused on
> startup. I've tried both gdb 6.2.1 and Debian Sarge's 6.3
> version and both exhibit the same behaviour.

This sounds like gdbserver getting confused about the crashed domain.
Perhaps Kip can suggest a fix...

There are 2 possibilities, either one of the hypercalls used to query the state of domain is returning information that gdbserver doesn't understand / considers invalid or you've run off your stack. I wouldn't expect it to handle the latter with so little grace - but I haven't dealt with that condition in a long time.

Could you please try calling the shutdown/crash hypercall from some point where you are in a known good state to try and see if it works there? That would determine whether or not what you're seeing is an artifact of how the domain crashed. If that fails then I can reproduce it here and check in a fix when I submit my patch for SMP support.

        -Kip
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel