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/
Home Products Support Community News


[Xen-devel] gdbserver-xen x86_64 paravirt guest debugging

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] gdbserver-xen x86_64 paravirt guest debugging
From: Ryan Harper <ryanh@xxxxxxxxxx>
Date: Wed, 19 Apr 2006 17:09:51 -0500
Delivery-date: Wed, 19 Apr 2006 15:10:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
I've attempted to debug live x86_64 domU domains with little success.
gdbserver-xen segfaults and I've starting running gdb on gdbserver-xen
to see where things are going south.

I kick off the server under gdb, and then run gdb client and remote
attach.  This appears to succeed, and gives me:

[New Thread 0]
[Switching to Thread 0]
0xffffffff8014e258 in softlockup_tick (regs=0xffff880026c6fcd8) at
50              unsigned long timestamp = per_cpu(timestamp, this_cpu);

But when I ask for a backtrace:

(gdb) bt
#0  0xffffffff8014e258 in softlockup_tick (regs=0xffff880026c6fcd8) at
Ignoring packet error, continuing...
Reply contains invalid hex digit 116

On the other side (gdbserver-xen) I see:

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: 
/home/rharper/work/openhype/xen/unstable/hg/d/tools/debugger/gdb/gdb-6.2.1-linux-x86_64-xen/gdb/gdbserver/gdbserver-xen --attach 1
domain currently paused
Attached; pid = 1
Listening on port 9999
Remote debugging from host

Program received signal SIGSEGV, Segmentation fault.
0x00002b2611bf410a in map_domain_va_64 (xc_handle=7, cpu=0, 
    perm=1) at xc_ptrace.c:295
295         l3p = page_array[l3p];

Some inspection:

(gdb) p l3p
$4 = 796261
(gdb) p nr_pages
$5 = 196608

page_array only has 196k entries AFAICT, so this seems problematic.

Anyone have x86_64 paravirt guest debugging working on latest unstable?

Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>