From: Jim Fehlig <jfehlig@novell.com>
To: xen-devel@lists.xensource.com
Subject: Re: [PATCH]xend: fix dual destroy
Date: Sun, 27 Jul 2008 21:55:13 -0600 [thread overview]
Message-ID: <488D4321.5000908@novell.com> (raw)
In-Reply-To: <FE7BBCFBB500984A9A7922EBC95F516E017C421E@pdsmsx414.ccr.corp.intel.com>
Cui, Dexuan wrote:
> After changeset 18030 and 18064 were checked in, I found some issues
> when creating HVM domains with devices assigned:
>
> In XendDomainInfo.py, we have the call trace: the global function
> create() => vm.start() => _constructDomain().
> In _constructDomain(), we invoke xc.test_assign_device() and when the
> function fails (maybe because iommu=1 is not specified in grub entry
> since iommu is 0 by defaut now; maybe because the device doesn't exist;
> maybe because the device has been assigned, or something) we raise
> VmError;
> Then start() will invoke self.destroy() and re-raise the exception;
> Next, the global create() will invoke vm.destroy() again; finally,
> _cleanupVm() and "self.metrics.destroy()" will be invoked again. Here
> when we execute metrics.destroy() for the second time, the deregister()
> in XendAPIStore.py will complain: there is no such an element in the
> dict __classes and a KeyError exception is raised!
>
> We can avoid the dual destroy by adding a check as follows.
>
Thanks. Finding the right place to destroy the metrics object made me
quite nervous. Thought I had been through enough testing after c/s
18064 to have gotten it right :-/. Even more discouraging - xend still
has a significant leak.
Jim
prev parent reply other threads:[~2008-07-28 3:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-25 10:39 [PATCH]xend: fix dual destroy Cui, Dexuan
2008-07-28 3:55 ` Jim Fehlig [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=488D4321.5000908@novell.com \
--to=jfehlig@novell.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.