WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Problem after destroying domain when xm is configured to use

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Problem after destroying domain when xm is configured to use Xen-API
From: Stefan Berger <stefanb@xxxxxxxxxx>
Date: Wed, 20 Jun 2007 14:22:41 -0400
Delivery-date: Wed, 20 Jun 2007 11:20:42 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

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
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] Problem after destroying domain when xm is configured to use Xen-API, Stefan Berger <=