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
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|