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

Re: [Xen-devel] pdb missing files?



Hi Kip,

gdbserver-xen is behaving as I expect, now that I've turned off crash_debug in Rules.mk. Thanks again for your helpful suggestions. Indeed, I am interested in debugging domU. However, the domU kernel I've built is crashing and / or xend is crashing before the domain can even be started "paused".

I can boot an unmodified domU (except for turning on the appropriate debug options) and debug as expected. However, the kernel I am interested in debugging is causing xend to crash, which apparently results in errors from xm. Upon a restart of xend, `xm list` doesn't show any new domains. Other utilities do, though, more on this in a sec...

xm complains about http errors when I try to create a domU with my debug kernel from the dom0 console. When xm complains like this, xend crashes. When I restart xend, `xm list` does not show the new domain. However, `xm top` does show that domain, the memory it uses, and its status is "paused". Further, if I use the Ctrl+A Ctrl+A Ctrl+A Xen console via serial cable, and select option 'q' (dump task queues + guest state), the new domain appears.

If I try to use gdbserver-xen to connect to one of my invisible-to-xm-list domains, gdbserver-xen segfaults once gdb connects to it. I believe this is interesting because gdbserver-xen will complain about nonexistant domains if I pass it a domain id which has never been used this boot cycle. If I pass it a domain which ran successfully, but has shutdown, it says "getdomaininfo failed". Hence, I believe the segfault of gdbserver-xen is directly related to the changes I've made to the kernel I want to debug.

I'm not sure if this a bug in xm or xend, or if it is an artifact of a bad modification that I've made to the kernel I'm trying to debug.
I have included the output from `xm` and the output from 'q':

Any ideas?

Thanks,
-Jon


root:11:56 AM:xen_conf $ xm create -p ttylinux.xm
Using config file "ttylinux.xm".
Unexpected error: httplib.BadStatusLine

Please report to xen-devel@xxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
 File "/usr/sbin/xm", line 10, in ?
   main.main(sys.argv)
 File "/usr/lib/python/xen/xm/main.py", line 683, in main
   rc = cmd(args)
 File "<string>", line 1, in <lambda>
 File "/usr/lib/python/xen/xm/main.py", line 304, in xm_subcommand
   cmd.main(["bogus"] + args)
 File "/usr/lib/python/xen/xm/create.py", line 838, in main
   dom = make_domain(opts, config)
 File "/usr/lib/python/xen/xm/create.py", line 738, in make_domain
   dominfo = server.xend_domain_create(config)
File "/usr/lib/python/xen/xend/XendClient.py", line 201, in xend_domain_create
   {'op'      : 'create',
 File "/usr/lib/python/xen/xend/XendClient.py", line 153, in xendPost
   return self.client.xendPost(url, data)
 File "/usr/lib/python/xen/xend/XendProtocol.py", line 101, in xendPost
   return self.xendRequest(url, "POST", args)
 File "/usr/lib/python/xen/xend/XendProtocol.py", line 172, in xendRequest
   resp = conn.getresponse()
 File "/usr/lib/python2.3/httplib.py", line 781, in getresponse
   response.begin()
 File "/usr/lib/python2.3/httplib.py", line 273, in begin
   version, status, reason = self._read_status()
 File "/usr/lib/python2.3/httplib.py", line 237, in _read_status
   raise BadStatusLine(line)
httplib.BadStatusLine






(XEN) 'q' pressed -> dumping task queues (now=0x1DD:43C5E37C)
(XEN) Xen: DOM 0, flags=d refcnt=3 nr_pages=116912 xenheap_pages=5
(XEN) XenPage 001c8000: caf=80000002, taf=f0000002
(XEN) XenPage 001c9000: caf=80000002, taf=f0000002
(XEN) XenPage 001ca000: caf=80000002, taf=f0000002
(XEN) XenPage 001cb000: caf=80000002, taf=f0000002
(XEN) XenPage 001df000: caf=80000002, taf=f0000002
(XEN) Shared_info@001df000: caf=80000002, taf=f0000002
(XEN) Guest: ff1c6080 CPU 0 [has=F] flags=3 upcall_pend = 01, upcall_mask = 00
(XEN) Notifying guest... 0/0
(XEN) port 1/4 stat 0 0 -1
(XEN) Xen: DOM 1, flags=0 refcnt=3 nr_pages=2560 xenheap_pages=5
(XEN) XenPage 001d0000: caf=80000001, taf=f0000001
(XEN) XenPage 001d1000: caf=80000001, taf=f0000001
(XEN) XenPage 001d2000: caf=80000001, taf=f0000001
(XEN) XenPage 001d3000: caf=80000001, taf=f0000001
(XEN) XenPage 001d4000: caf=80000001, taf=f0000001
(XEN) Shared_info@001d4000: caf=80000001, taf=f0000001
(XEN) Guest: ff1d6080 CPU 0 [has=F] flags=10 upcall_pend = 00, upcall_mask = 00
(XEN) Notifying guest... 1/0
(XEN) port 1/0 stat 0 0 0




Kip Macy wrote:

What PDB brings to the table is the ability to debug several domains at once
(think clustering). For his needs gdbserver-xen will likely suffice.

-Kip



Yes, certainly it is.

PDB relies on xcs to pass message control, but since when xcs has been
removed, nobody updates PDB to catch up the change.

PDB should now exploit the xenstore interface.

Hieu.

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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
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®.