[libvirt] virConnectClose() sometimes seg faults libvirt 0.7.0

Hi, I'm trying to track down a seg fault I'm seeing with the libvirt-0.7.0-3.fc12.x86_64 rawhide version of libvirt. I'm having trouble finding the exact set of steps, as I see the behavior when interacting with the libvirt-cim providers. Here's the stack trace I was able to get. Looks like the seg fault actually occurs in netcf, which I haven't looked at much. Has anyone seen this? Program received signal SIGSEGV, Segmentation fault. 0x00007fffe4004383 in ?? () (gdb) bt #0 0x00007fffe4004383 in ?? () #1 0x00007ffff6a5cbfc in xmlHashScanFull__internal_alias ( table=0x7fffe4005f50, f=<value optimized out>, data=<value optimized out>) at hash.c:849 #2 0x00007ffff6a5cc4c in xmlHashScan__internal_alias (table=0x7fffe400ef10, f=<value optimized out>, data=<value optimized out>) at hash.c:818 #3 0x00007ffff6ff5104 in xsltShutdownExts () from /usr/lib64/libxslt.so.1 #4 0x00007ffff6fe3e3d in xsltFreeStylesheet () from /usr/lib64/libxslt.so.1 #5 0x00007ffff7452961 in ?? () from /usr/lib64/libnetcf.so.1 #6 0x00007ffff74501d1 in ncf_close () from /usr/lib64/libnetcf.so.1 #7 0x000000000045bb8f in interfaceCloseInterface (conn=0x7fffe4000a90) at interface_driver.c:164 #8 0x00007ffff7af46a6 in virConnectClose (conn=0x7fffe4000a90) at libvirt.c:1244 #9 0x0000000000412828 in qemudFreeClient (client=can't compute CFA for this frame ) at qemud.c:2146 #10 qemudRunLoop (client=can't compute CFA for this frame ) at qemud.c:2219 #11 0x0000000000415b43 in main (argc=<value optimized out>, argv=<value optimized out>) at qemud.c:2994 --------------------------- Relevant part of the log: 17:13:15.930: debug : do_open:1056 : interface driver 2 Interface returned SUCCESS 17:13:15.930: debug : do_open:1076 : storage driver 0 Test returned DECLINED 17:13:15.930: debug : do_open:1076 : storage driver 1 remote returned DECLINED 17:13:15.930: debug : do_open:1076 : storage driver 2 storage returned SUCCESS 17:13:15.930: debug : do_open:1096 : node driver 0 Test returned DECLINED 17:13:15.930: debug : do_open:1096 : node driver 1 remote returned DECLINED 17:13:15.930: debug : do_open:1096 : node driver 2 halDeviceMonitor returned SUCCESS 17:13:15.930: debug : qemudDispatchClientFailure:1394 : Deregistering to relay remote events 17:13:15.930: debug : virConnectDomainEventDeregister:8582 : conn=0x7fffe014dd00, cb=0x41d620 17:13:15.930: debug : virConnectClose:1232 : conn=0x7fffe014dd00 -- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com

On Wed, Aug 12, 2009 at 05:27:35PM -0700, Kaitlin Rupert wrote:
Hi,
I'm trying to track down a seg fault I'm seeing with the libvirt-0.7.0-3.fc12.x86_64 rawhide version of libvirt.
I'm having trouble finding the exact set of steps, as I see the behavior when interacting with the libvirt-cim providers.
Here's the stack trace I was able to get. Looks like the seg fault actually occurs in netcf, which I haven't looked at much. Has anyone seen this?
Program received signal SIGSEGV, Segmentation fault. 0x00007fffe4004383 in ?? () (gdb) bt #0 0x00007fffe4004383 in ?? () #1 0x00007ffff6a5cbfc in xmlHashScanFull__internal_alias ( table=0x7fffe4005f50, f=<value optimized out>, data=<value optimized out>) at hash.c:849 #2 0x00007ffff6a5cc4c in xmlHashScan__internal_alias (table=0x7fffe400ef10, f=<value optimized out>, data=<value optimized out>) at hash.c:818 #3 0x00007ffff6ff5104 in xsltShutdownExts () from /usr/lib64/libxslt.so.1 #4 0x00007ffff6fe3e3d in xsltFreeStylesheet () from /usr/lib64/libxslt.so.1 #5 0x00007ffff7452961 in ?? () from /usr/lib64/libnetcf.so.1 #6 0x00007ffff74501d1 in ncf_close () from /usr/lib64/libnetcf.so.1
OMG ! You have no idea where it comes from ... I'm afraid it's related to http://bugzilla.gnome.org/show_bug.cgi?id=305913 a global variable, used in libxslt, itself used in netcf, itself used by libvirt .... There is probably a workaround possible at the netcf level forcing locking when XSLT transformations are run to avoid the multithread issue but the real fix should be in libxslt, I'm working on libxml2/libxslt bug fixes this week and will try to get this fixed in the next libxslt release, hopefully by next week ... I will keep you posted ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (2)
-
Daniel Veillard
-
Kaitlin Rupert