[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Catch crashing domains with GDB


  • To: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>
  • 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=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>



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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.