Domain with ID '12' is destroyed. When
VM.get_all_records() is called, the XendDomainInfo object of that domain
seems to still be around. It fails when calling xc.sched_credit_domain_get(12).
[2007-06-20 13:12:08 7786] INFO (XendDomainInfo:2186)
self.getDomid()= 0
[2007-06-20 13:12:08 7786] INFO (XendDomainInfo:2186) self.getDomid()=
12
[2007-06-20 13:12:15 7786] DEBUG (XendDomainInfo:1674) XendDomainInfo.destroy:
domid=12
[2007-06-20 13:12:15 7786] DEBUG (XendDomainInfo:1692) XendDomainInfo.destroyDomain(12)
[2007-06-20 13:12:15 7786] DEBUG (XendDomainInfo:1342) Removing vbd/51713
[2007-06-20 13:12:15 7786] DEBUG (XendDomainInfo:559) dev = 51713
[2007-06-20 13:12:15 7786] DEBUG (XendDomainInfo:1342) Removing console/0
[2007-06-20 13:12:15 7786] DEBUG (XendDomainInfo:559) dev = 0
[2007-06-20 13:12:18 7786] INFO (XendDomainInfo:2186) self.getDomid()=
0
[2007-06-20 13:12:18 7786] INFO (XendDomainInfo:2186) self.getDomid()=
12
[2007-06-20 13:12:18 7786] ERROR (xmlrpclib2:166) Internal error handling
VM.get_all_records
Traceback (most recent call last):
File "//usr/lib64/python/xen/util/xmlrpclib2.py", line
131, in _marshaled_dispatch
response = self._dispatch(method, params)
File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line
406, in _dispatch
return func(*params)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 221,
in f
return func(self, *args, **kwargs)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 256,
in check_session
return func(self, session, *args, **kwargs)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 561,
in <lambda>
return lambda s, session: \
File "//usr/lib64/python/xen/xend/XendAPI.py", line 221,
in f
return func(self, *args, **kwargs)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 256,
in check_session
return func(self, session, *args, **kwargs)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 312,
in <lambda>
'VM', func, *args, **kwargs)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 268,
in _check_ref
return func(api, session, ref, *args, **kwargs)
File "//usr/lib64/python/xen/xend/XendAPI.py", line 1643,
in VM_get_record
record = {
File "//usr/lib64/python/xen/xend/XendDomainInfo.py",
line 2187, in get_vcpus_params
retval = xc.sched_credit_domain_get(self.getDomid())
Error: (3, 'No such process')
My fix for this problem is to reset the domid in cleanupDomain()
so later on it does not call xc.sched_credit_domain_get() in get_vcpus_params,
though I don't see that the same line was removed through some patch.
diff -r 739d698986e9 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py
Wed Jun 20 10:55:37 2007 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py
Wed Jun 20 14:18:45 2007 -0400
@@ -1572,6 +1581,7 @@ class XendDomainInfo:
log.exception("Removing
domain path failed.")
self._stateSet(DOM_STATE_HALTED)
+ self.domid = None
finally:
self.refresh_shutdown_lock.release()
Stefan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|