Hi All,
Here is the change I made to address the SIGSEGV we were seeing in libvirtd when
attempting to create a new VM via virt-install:
- We call virDomainDefFree after xenDaemonCreateXML returns to
xenUnifiedDomainCreateXML.
- xenUnifiedDomainCreateXML passes def to virGetDomain after XenDaemonCreateXML
returns and before it calls virGetDomain.
- xenUnifiedDomainCreateXML calls virDomainDefFree(def) when it's done with
def, so no need to free inside xenUnifiedDomainCreateXML.
------------------------ patch -------------------------
--- /tmp/xend_internal.c 2013-08-07 12:03:03.000000000 -0600
+++ src/xen/xend_internal.c 2013-08-07 08:51:49.000000000 -0600
@@ -2171,7 +2171,9 @@
if (xenDaemonDomainResume(conn, def) < 0)
goto error;
- virDomainDefFree(def);
+ // We call this a little later and still want to use def, so
+ // don't free it just yet.
+ //virDomainDefFree(def);
return 0;