[libvirt] Segfault in virDomainObjListSearchName when listing domains (qemu backend)

Guido Winkelmann guido-libvi at unknownsite.de
Fri Jun 25 15:34:56 UTC 2010


Hi,

I'm seeing a crash in libvirt when trying to list all domains using virsh. 
Here's the backtrace:

=====================
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffeebfd710 (LWP 1691)]
0x00007ffff7411746 in __strcmp_sse42 () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install 
openssl-1.0.0a-1.fc12.x86_64
(gdb) bt
#0  0x00007ffff7411746 in __strcmp_sse42 () from /lib64/libc.so.6
#1  0x00007ffff7ac9d79 in virDomainObjListSearchName (payload=0x73fdd0, 
name=<value optimized out>, data=0x7fffdc0008c0) at conf/domain_conf.c:367
#2  0x00007ffff7ab476e in virHashSearch (table=0x6f9c30, iter=0x7ffff7ac9d50 
<virDomainObjListSearchName>, data=0x7fffdc0008c0) at util/hash.c:582
#3  0x00007ffff7ac9d33 in virDomainFindByName (doms=<value optimized out>, 
name=0x7fffdc0008c0 "basiccentos54image") at conf/domain_conf.c:377
#4  0x00000000004430f6 in qemudDomainLookupByName (conn=0x7fffe8000a80, 
name=0x7fffdc0008c0 "basiccentos54image") at qemu/qemu_driver.c:4166
#5  0x00007ffff7af95cd in virDomainLookupByName (conn=0x7fffe8000a80, 
name=0x7fffdc0008c0 "basiccentos54image") at libvirt.c:2169
#6  0x0000000000423e64 in remoteDispatchDomainLookupByName (server=<value 
optimized out>, client=<value optimized out>, conn=0x7fffe8000a80, hdr=<value 
optimized out>, rerr=0x7fffeebfcc70,
    args=<value optimized out>, ret=0x7fffeebfcbc0) at remote.c:2030
#7  0x0000000000426a91 in remoteDispatchClientCall (server=<value optimized 
out>, client=0x7ffff0001300, msg=0x7ffff0041570) at dispatch.c:506
#8  0x0000000000426e43 in remoteDispatchClientRequest (server=0x6e3cd0, 
client=0x7ffff0001300, msg=0x7ffff0041570) at dispatch.c:388
#9  0x0000000000417ed8 in qemudWorker (data=0x7ffff0000908) at libvirtd.c:1568
#10 0x00007ffff7878a3a in start_thread () from /lib64/libpthread.so.0
#11 0x00007ffff73d377d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()
(gdb)
=====================

This is with the newest version from git, pulled about 30 minutes ago.

This happens when I try to start up one of the defined domains using either 
libvirt or virsh and then try to list all the defined domains in virsh using 
list --all.

The attempt to start one of the domains already fails with the following 
output:
=====================
virsh # start testserver-a
error: Failed to start domain testserver-a
error: internal error process exited while connecting to monitor: 
17:21:14.760: debug : virCgroupNew:542 : New group /libvirt/qemu/testserver-a
17:21:14.760: debug : virCgroupDetect:232 : Detected mount/mapping 0:cpu at 
/mnt/cgroups/cpu in /sysdefault
17:21:14.760: debug : virCgroupDetect:232 : Detected mount/mapping 1:cpuacct 
at /mnt/cgroups/cpuacct in /sysdefault
17:21:14.760: debug : virCgroupDetect:232 : Detected mount/mapping 3:memory at 
/mnt/cgroups/memory in /sysdefault
17:21:14.760: debug : virCgroupDetect:232 : Detected mount/mapping 4:devices 
at /mnt/cgroups/devices in /sysdefault
17:21:14.760: debug : virCgroupMakeGroup:484 : Make group 
/libvirt/qemu/testserver-a
17:21:14.760: debug : virCgroupMakeGroup:496 : Make controller 
/mnt/cgroups/cpu/sysdefault/libvirt/qemu/testserver-a/
17:21:14.760: debug : virCgroupMakeGroup:496 : Make controller 
/mnt/cgroups/cpuacct/sysdefault/libvirt/qemu/testserver-a/
17:21:14.760: debug : virCgroupMakeGroup:496 : Make controller 
/mnt/cgroups/memory/sysdefault/libvirt/qemu/testserver-a/
=====================

This happens with all the domains I have currently defined.

Calling list --all before that produces no problems.

Calling list --all after that always produces said crash.

qemu is qemu-kvm 0.12.4, built from sources.

The host system is a Fedora 12 install.

	Guido




More information about the libvir-list mailing list