[Pkg-xen-devel] Bug#744163: xenstore problems
Matyas Koszik
koszik at atw.hu
Thu Apr 10 23:14:19 UTC 2014
Package: xen-utils-4.1
Version: 4.1.4-3+deb7u1
Severity: important
When starting (or migrating in) a domain, sometimes I get the following exception:
[2014-04-01 10:58:08 4821] ERROR (XendDomainInfo:2927) XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2914, in _initDomain
self._createDevices()
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2364, in _createDevices
devid = self._createDevice(devclass, config)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2326, in _createDevice
return self.getDeviceController(deviceClass).createDevice(devConfig)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/DevController.py", line 63, in createDevice
(devid, back, front) = self.getDeviceDetails(config)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/netif.py", line 122, in getDeviceDetails
devid = self.allocateDeviceID()
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/DevController.py", line 406, in allocateDeviceID
return complete(path, self._allocateDeviceID)
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 29, in __init__
self.transaction = xshandle().transaction_start()
Error: (2, 'No such file or directory')
[2014-04-01 10:58:08 4821] ERROR (XendDomainInfo:488) VM start failed
After this, the system is left in an inconsistent state:
# xm list|grep x
x 69 1024 1 --ps-- 0.0
# xm destroy x
Error: (2, 'No such file or directory')
Usage: xm destroy <Domain>
Terminate a domain immediately.
Now if I try to 'xm create' a new domain, I get the following:
[2014-04-02 18:14:20 4821] ERROR (xmlrpclib2:181) Internal error handling xend.domain.create
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 "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/XMLRPCServer.py", line 80, in domain_create
info = XendDomain.instance().domain_create(config)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 999, in domain_create
self._refresh()
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 429, in _refresh
self._refreshTxn(txn, refresh_shutdown)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 442, in _refreshTxn
self.domains[domid].update(dom, refresh_shutdown, transaction)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 3543, in update
self.refreshShutdown(info)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2069, in refreshShutdown
if self.readDom('xend/shutdown_completed'):
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 1693, in readDom
return xstransact.Read(self.dompath, *args)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/xenstore/xstransact.py", line 307, in Read
return complete(path, lambda t: t.read(*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 29, in __init__
self.transaction = xshandle().transaction_start()
Error: (2, 'No such file or directory')
After restaring xend even a simple 'xm list' operation results in Error: (2, 'No such file or directory'):
[2014-04-02 18:17:01 28301] ERROR (xmlrpclib2:181) Internal error handling xend.domains_with_state
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 "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/XMLRPCServer.py", line 67, in domains_with_state
domains = XendDomain.instance().list_sorted(state)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 879, in list_sorted
doms = self.list(state)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 848, in list
self._refresh(refresh_shutdown = False)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 429, in _refresh
self._refreshTxn(txn, refresh_shutdown)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomain.py", line 445, in _refreshTxn
new_dom = XendDomainInfo.recreate(dom, False)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 180, in recreate
vmpath = xstransact.Read(dompath, "vm")
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/xenstore/xstransact.py", line 307, in Read
return complete(path, lambda t: t.read(*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 29, in __init__
self.transaction = xshandle().transaction_start()
Error: (2, 'No such file or directory')
Changing the toolstack to xl gave some basic functionality back (I can at least list VMs now,
starting is not possible and other operations have not been tried yet).
The configuration of the VM that triggered this issue is the following:
kernel = '/usr/lib/xen/boot/hvmloader'
builder='hvm'
device_model = '/usr/lib/xen/bin/qemu-dm'
vfb = ['type=vnc,vnclisten=0.0.0.0:6122,vncdisplay=6122,vncpasswd=x']
memory = 1024
name = "x"
vcpus = 1
vif = [ 'vifname=x,mac=00:16:3e:00:00:22,ip=x' ]
disk = [ 'phy:x,hda,w', ]
More information about the Pkg-xen-devel
mailing list