Moonwalker
2011-Nov-13 22:52 UTC
[Pkg-xen-devel] Bug#648670: xm was unable determine an actual domU state under some conditions
Package: xen-utils-4.1
Version: 4.1.1-3
I have an HVM domU which was created with xen-utils-4.0 (and Xen 4.0 hypervisor
of course). Recently I've upgraded to Xen 4.1 and xen-utils-4.1, but after a
reboot I was unable to do anything with it: "xm start" caused
"Domain is already running" error, while "xm shutdown"
simply hadn't printed any error messages, only "Error:", "xm
destroy" did nothing without any output.
In "xm list" output the domU had no ID and state values just like it
wasn't started.
==# xm shutdown test1
Error:
Usage: xm shutdown <Domain> [-waRH]
Shutdown a domain.
==
==# xm reset test
Error: Domain 'test1' is not started
Usage: xm reset <Domain>
==
==# xm start test1
Error: Domain is already running
Usage: xm start <DomainName>
==
The only reasonable message was in xend.log, appears when I tried to shutdown
the domU:
==DEBUG (XendDomainInfo:524) XendDomainInfo.shutdown(poweroff)
ERROR (xmlrpclib2:181) Internal error handling xend.domain.shutdown
Traceback (most recent call last):
File "/usr/lib/xen-4.1/bin/../lib/python/xen/util/xmlrpclib2.py",
line 134, in _marshaled_dispatch
response = self._dispatch(method, params)
File "/usr/lib/python2.7/SimpleXMLRPCServer.py", line 420, in
_dispatch
return func(*params)
File "<string>", line 1, in <lambda>
File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/XMLRPCServer.py",
line 56, in dispatch
return getattr(info, fn)(*args)
File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
533, in shutdown
self.storeDom("control/shutdown", reason)
File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
1705, in storeDom
return xstransact.Store(self.dompath, *args)
File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/xenstore/xstransact.py",
line 347, in Store
complete(path, lambda t: t.store(*args))
File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/xenstore/xstransact.py",
line 361, in complete
t = xstransact(path)
File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/xenstore/xstransact.py",
line 27, in __init__
assert path is not None
AssertionError
==
I was able to remove the failed domU only by removing the appropriate directory
with config.sxp from /var/lib/xend/domains.
