[libvirt] libvirtd segfault

### Libvirt version: ### libvirt tagged v1.0.0 from git , with f0e72b2f5c675f927d04545dc5095f9e5998f171 applied ### Problem: ### Libvirtd segfaults ### Steps to reproduce: ### This is difficult to reproduce; but appears to happen only when doing 'virsh destroys', and when they are ran in concurrent intervals, over extended periods of time. Here are the steps I have taken to reproduce this problem (debian_6.0_amd64_kvm.img.gz is just a zipped up squeeze stock ISO install): First, copy this script to ease the steps (assumed to be at /root/libvirt_crash.pl later): #!/usr/bin/env perl use strict; use warnings; use Getopt::Long qw(:config no_ignore_case); use String::Random; use UUID::Random; my ($lvms,$sleep,$restarts_per_lvm); GetOptions( 'lvms=i' => \$lvms, 'restarts_per_lvm=i' => \$restarts_per_lvm, 'sleep=i' => \$sleep, ); die "USAGE:\n$0 [--lvms int | --restarts_per_lvm int | --sleep int (optional) ]\n" unless ( $lvms && $restarts_per_lvm ); sub _create_lvm { my $opts = shift; print "\tlvcreate -n $opts->{lvm} -L 5G /dev/LVM\n"; system("lvcreate -n $opts->{lvm} -L 5G /dev/LVM"); } sub _kpartx_lvm { my $opts = shift; die "_kpartx_lvm needs modifier!\n" unless ( $opts->{modifier} ); print "\tkpartx -p p -$opts->{modifier} -v /dev/LVM/$opts->{lvm}\n"; system("kpartx -p p -$opts->{modifier} -v /dev/LVM/$opts->{lvm}"); } sub _remove_lvm { my $opts = shift; print "\tlvremove -f /dev/LVM/$opts->{lvm}\n"; system("lvremove -f /dev/LVM/$opts->{lvm}"); unlink("/xen/configs/$opts->{lvm}.cfg"); } sub _display_lvm { my $opts = shift; print "\tparted -s /dev/LVM/$opts->{lvm} unit gb p\n"; system("parted -s /dev/LVM/$opts->{lvm} unit gb p"); } sub _dd_template { my $opts = shift; print "\tdd if=/root/ssullivan/debian_6.0_amd64_kvm.img.gz bs=1M | gunzip -c | dd of=/dev/LVM/$opts->{lvm} bs=1M\n"; system("dd if=/root/ssullivan/debian_6.0_amd64_kvm.img.gz bs=1M | gunzip -c | dd of=/dev/LVM/$opts->{lvm} bs=1M"); } sub _e2fsck_lvm { my $opts = shift; print "\te2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p1\n"; system("e2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p1"); print "\te2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p3\n"; system("e2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p3") } sub _place_virtconf { my $opts = shift; my $uuid = UUID::Random::generate; my $virt_conf = <<END; <domain type="kvm"> <name>$opts->{lvm}</name> <uuid>$uuid</uuid> <memory>450560</memory> <currentMemory>450560</currentMemory> <vcpu>2</vcpu> <cpu> <topology sockets="2" cores="4" threads="1"/> </cpu> <os> <type arch="x86_64" machine="pc-1.1">hvm</type> <boot dev="hd"/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset="localtime"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/opt/libexec/qemu-kvm-wrapper</emulator> <disk type="block" device="disk"> <driver name="qemu" cache="none"/> <source dev="/dev/LVM/$opts->{lvm}"/> <target dev="vda" bus="virtio"/> </disk> <serial type="pty"> <target port="1"/> </serial> <console type="pty"> <target port="1"/> </console> <input type="tablet" bus="usb"/> <input type="mouse" bus="ps2"/> <graphics type="vnc" port="-1" autoport="yes" keymap="en-us"/> </devices> </domain> END open(my $fh, '>', "/xen/configs/$opts->{lvm}.cfg") || die "Error opening [/xen/configs/$opts->{lvm}.cfg] [$!]"; print $fh "$virt_conf\n"; close($fh) || die "Error closing [/xen/configs/$opts->{lvm}.cfg] [$!]"; } sub _shutdown_lvm { my $opts = shift; print "\tvirsh destroy $opts->{lvm}\n"; system("virsh destroy $opts->{lvm}"); _virsh_list(); } sub _virsh_list { print "\tvirsh list\n"; system('virsh list'); } sub _start_lvm { my $opts = shift; print "\tvirsh create /xen/configs/$opts->{lvm}.cfg\n"; system("virsh create /xen/configs/$opts->{lvm}.cfg"); _virsh_list(); } my $rnd = new String::Random; my $count = 0; while ( $count < $lvms ) { my $id = $rnd->randpattern("cccccccc"); print "####\nLVM PASS: $count\nLVM: $id\n####\n"; print "Creating LVM...\n"; _create_lvm({ lvm => $id }); print "DD'ing template...\n"; _dd_template({ lvm => $id }); print "kpartxA LVM...\n"; _kpartx_lvm({ lvm => $id, modifier => 'a' }); print "e2fsck LVM..\n"; _e2fsck_lvm({ lvm => $id }); print "kpartxD LVM...\n"; _kpartx_lvm({ lvm => $id, modifier => 'd' }); print "Placing libvirt conf...\n"; _place_virtconf({ lvm => $id }); print "Partition setup:\n"; _display_lvm({ lvm => $id }); print "Performing $restarts_per_lvm restarts on $id...\n"; my $restart_cnt = 0; while ( $restart_cnt < $restarts_per_lvm ) { print "####\nRESTART PASS: $restart_cnt\nLVM: $id\n####\n"; print "Shutting down LVM...\n"; _shutdown_lvm({ lvm => $id }); sleep $sleep if ( $sleep ); print "Starting LVM...\n"; _start_lvm({ lvm => $id }); $restart_cnt++; } print "Removing LVM...\n"; _shutdown_lvm({ lvm => $id }); _remove_lvm({ lvm => $id }); $count++; } I then started 21 of these scripts, with the below commands (preferably in a screen to reduce spamming): perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 --sleep 10 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 --sleep 10 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & I already had libvirtd started under GDB at this point. I waited about 3-6 hours, and I found this in my GDB session: 2012-12-27 17:23:35.922+0000: 7445: error : qemuMonitorIO:614 : internal error End of file from monitor 2012-12-27 17:23:36.558+0000: 7445: error : qemuMonitorIO:614 : internal error End of file from monitor Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff8e1fc700 (LWP 31142)] qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 768 priv->jobs_queued++; Missing separate debuginfos, use: debuginfo-install audit-libs-2.1.3-3.el6.x86_64 augeas-libs-0.9.0-1.el6.x86_64 avahi-libs-0.6.25-11.el6.x86_64 cyrus-sasl-gssapi-2.1.23-13.el6.x86_64 cyrus-sasl-lib-2.1.23-13.el6.x86_64 cyrus-sasl-md5-2.1.23-13.el6.x86_64 cyrus-sasl-plain-2.1.23-13.el6.x86_64 db4-4.7.25-16.el6.x86_64 dbus-libs-1.2.24-5.el6_1.x86_64 device-mapper-libs-1.02.66-6.el6.x86_64 glibc-2.12-1.47.el6.x86_64 gnutls-2.8.5-4.el6.x86_64 keyutils-libs-1.4-3.el6.x86_64 krb5-libs-1.9-22.el6_2.1.x86_64 libblkid-2.17.2-12.4.el6.x86_64 libcap-ng-0.6.4-3.el6_0.1.x86_64 libcom_err-1.41.12-11.el6.x86_64 libcurl-7.19.7-26.el6_1.2.x86_64 libgcrypt-1.4.5-9.el6.x86_64 libgpg-error-1.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libnl-1.1-14.el6.x86_64 libpcap-1.0.0-6.20091201git117cb5.el6.x86_64 libpciaccess-0.12.1-1.el6.x86_64 libselinux-2.0.94-5.2.el6.x86_64 libsepol-2.0.41-4.el6.x86_64 libtasn1-2.3-3.el6.x86_64 libudev-147-2.40.el6.x86_64 libuuid-2.17.2-12.4.el6.x86_64 libxml2-2.7.6-4.el6.x86_64 libxslt-1.1.26-2.el6.x86_64 netcf-libs-0.1.9-2.el6.x86_64 nspr-4.8.8-3.el6.x86_64 nss-3.12.10-17.el6_2.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 nss-util-3.12.10-2.el6.x86_64 numactl-2.0.3-9.el6.x86_64 openldap-2.4.23-20.el6.x86_64 openssl-1.0.0-20.el6.x86_64 yajl-1.0.7-3.el6.x86_64 zlib-1.2.3-27.el6.x86_64 (gdb) Here is the output of 'thread apply all bt' from this session: Thread 30 (Thread 0x7fff8e1fc700 (LWP 31142)): #0 qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 #1 0x00007fffeac2b223 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2052 #2 0x00000039f10f97df in virDomainDestroy (domain=0x7fff741b8540) at libvirt.c:2201 #3 0x0000000000428e22 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00000039f1146152 in virNetServerProgramDispatchCall (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:304 #7 0x00000039f1143fee in virNetServerProcessMsg (srv=<value optimized out>, client=0x68eb50, prog=<value optimized out>, msg=0x6930b0) at rpc/virnetserver.c:171 #8 0x00000039f1144a8b in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=<value optimized out>) at rpc/virnetserver.c:192 #9 0x00000039f10643ec in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 29 (Thread 0x7fff8ebfd700 (LWP 20241)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 28 (Thread 0x7fff8f5fe700 (LWP 20235)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 27 (Thread 0x7fff8ffff700 (LWP 29349)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 26 (Thread 0x7fffb8dfa700 (LWP 29348)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 25 (Thread 0x7fffb97fb700 (LWP 28577)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 24 (Thread 0x7fffba1fc700 (LWP 28576)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 23 (Thread 0x7fffbabfd700 (LWP 28180)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 22 (Thread 0x7fffbb5fe700 (LWP 28178)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 21 (Thread 0x7fffe0dfa700 (LWP 12076)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 20 (Thread 0x7fffe17fb700 (LWP 5934)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 19 (Thread 0x7fffe21fc700 (LWP 5904)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 18 (Thread 0x7fffe2bfd700 (LWP 5860)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 17 (Thread 0x7fffbbfff700 (LWP 855)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 16 (Thread 0x7fffe97c4700 (LWP 835)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 11 (Thread 0x7fffec73f700 (LWP 7457)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 10 (Thread 0x7fffed140700 (LWP 7456)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7fffedb41700 (LWP 7455)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7fffee542700 (LWP 7454)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7fffeef43700 (LWP 7453)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7fffef944700 (LWP 7452)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7ffff0345700 (LWP 7451)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7ffff0d46700 (LWP 7450)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7ffff1747700 (LWP 7449)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7ffff2148700 (LWP 7448)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ffff7fda800 (LWP 7445)): #0 0x0000003009a46f60 in vfprintf () from /lib64/libc.so.6 #1 0x0000003009afc970 in __vsnprintf_chk () from /lib64/libc.so.6 #2 0x0000003009afc8aa in __snprintf_chk () from /lib64/libc.so.6 #3 0x00000039f108144a in snprintf (when=<value optimized out>, buf=0x7fffffffd470 "2012-12-27 17:23:36.561+0000") at /usr/include/bits/stdio2.h:65 #4 virTimeStringThenRaw (when=<value optimized out>, buf=0x7fffffffd470 "2012-12-27 17:23:36.561+0000") at util/virtime.c:219 #5 0x00000039f108167a in virTimeStringNowRaw (buf=0x7fffffffd470 "2012-12-27 17:23:36.561+0000") at util/virtime.c:195 #6 0x00000039f105834b in virLogVMessage (source=VIR_LOG_FROM_FILE, priority=<value optimized out>, filename=0x39f11ad70b "util/event_poll.c", linenr=378, funcname=0x39f11adcc0 "virEventPollMakePollFDs", fmt=<value optimized out>, vargs=0x7fffffffd4f0) at util/logging.c:822 #7 0x00000039f10586ec in virLogMessage (source=<value optimized out>, priority=<value optimized out>, filename=<value optimized out>, linenr=<value optimized out>, funcname=<value optimized out>, fmt=<value optimized out>) at util/logging.c:753 #8 0x00000039f1052241 in virEventPollMakePollFDs () at util/event_poll.c:374 #9 virEventPollRunOnce () at util/event_poll.c:605 #10 0x00000039f1051666 in virEventRunDefaultImpl () at util/event.c:247 #11 0x00000039f11437dd in virNetServerRun (srv=0x67fe60) at rpc/virnetserver.c:1004 #12 0x000000000040c5a3 in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1354 (gdb) Does anyone have any insights as to the cause of this, or any potential solutions? If there's anything I can add that would help let me know.

In case its useful, here's the 'bt' output from this session as well: (gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 #1 0x00007fffeac2b223 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2052 #2 0x00000039f10f97df in virDomainDestroy (domain=0x7fff741b8540) at libvirt.c:2201 #3 0x0000000000428e22 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00000039f1146152 in virNetServerProgramDispatchCall (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:304 #7 0x00000039f1143fee in virNetServerProcessMsg (srv=<value optimized out>, client=0x68eb50, prog=<value optimized out>, msg=0x6930b0) at rpc/virnetserver.c:171 #8 0x00000039f1144a8b in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=<value optimized out>) at rpc/virnetserver.c:192 #9 0x00000039f10643ec in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb) On 12/27/2012 01:15 PM, Scott Sullivan wrote:
### Libvirt version: ###
libvirt tagged v1.0.0 from git , with f0e72b2f5c675f927d04545dc5095f9e5998f171 applied
### Problem: ###
Libvirtd segfaults
### Steps to reproduce: ###
This is difficult to reproduce; but appears to happen only when doing 'virsh destroys', and when they are ran in concurrent intervals, over extended periods of time.
Here are the steps I have taken to reproduce this problem (debian_6.0_amd64_kvm.img.gz is just a zipped up squeeze stock ISO install):
First, copy this script to ease the steps (assumed to be at /root/libvirt_crash.pl later):
#!/usr/bin/env perl
use strict; use warnings;
use Getopt::Long qw(:config no_ignore_case); use String::Random; use UUID::Random;
my ($lvms,$sleep,$restarts_per_lvm); GetOptions( 'lvms=i' => \$lvms, 'restarts_per_lvm=i' => \$restarts_per_lvm, 'sleep=i' => \$sleep, );
die "USAGE:\n$0 [--lvms int | --restarts_per_lvm int | --sleep int (optional) ]\n" unless ( $lvms && $restarts_per_lvm );
sub _create_lvm { my $opts = shift; print "\tlvcreate -n $opts->{lvm} -L 5G /dev/LVM\n"; system("lvcreate -n $opts->{lvm} -L 5G /dev/LVM"); }
sub _kpartx_lvm { my $opts = shift; die "_kpartx_lvm needs modifier!\n" unless ( $opts->{modifier} ); print "\tkpartx -p p -$opts->{modifier} -v /dev/LVM/$opts->{lvm}\n"; system("kpartx -p p -$opts->{modifier} -v /dev/LVM/$opts->{lvm}"); }
sub _remove_lvm { my $opts = shift; print "\tlvremove -f /dev/LVM/$opts->{lvm}\n"; system("lvremove -f /dev/LVM/$opts->{lvm}"); unlink("/xen/configs/$opts->{lvm}.cfg"); }
sub _display_lvm { my $opts = shift; print "\tparted -s /dev/LVM/$opts->{lvm} unit gb p\n"; system("parted -s /dev/LVM/$opts->{lvm} unit gb p"); }
sub _dd_template { my $opts = shift; print "\tdd if=/root/ssullivan/debian_6.0_amd64_kvm.img.gz bs=1M | gunzip -c | dd of=/dev/LVM/$opts->{lvm} bs=1M\n"; system("dd if=/root/ssullivan/debian_6.0_amd64_kvm.img.gz bs=1M | gunzip -c | dd of=/dev/LVM/$opts->{lvm} bs=1M"); }
sub _e2fsck_lvm { my $opts = shift; print "\te2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p1\n"; system("e2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p1"); print "\te2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p3\n"; system("e2fsck -y -f /dev/mapper/LVM-$opts->{lvm}p3") }
sub _place_virtconf { my $opts = shift;
my $uuid = UUID::Random::generate; my $virt_conf = <<END; <domain type="kvm"> <name>$opts->{lvm}</name> <uuid>$uuid</uuid> <memory>450560</memory> <currentMemory>450560</currentMemory> <vcpu>2</vcpu> <cpu> <topology sockets="2" cores="4" threads="1"/> </cpu> <os> <type arch="x86_64" machine="pc-1.1">hvm</type> <boot dev="hd"/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset="localtime"/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/opt/libexec/qemu-kvm-wrapper</emulator> <disk type="block" device="disk"> <driver name="qemu" cache="none"/> <source dev="/dev/LVM/$opts->{lvm}"/> <target dev="vda" bus="virtio"/> </disk>
<serial type="pty"> <target port="1"/> </serial> <console type="pty"> <target port="1"/> </console>
<input type="tablet" bus="usb"/> <input type="mouse" bus="ps2"/> <graphics type="vnc" port="-1" autoport="yes" keymap="en-us"/> </devices> </domain> END
open(my $fh, '>', "/xen/configs/$opts->{lvm}.cfg") || die "Error opening [/xen/configs/$opts->{lvm}.cfg] [$!]"; print $fh "$virt_conf\n"; close($fh) || die "Error closing [/xen/configs/$opts->{lvm}.cfg] [$!]"; }
sub _shutdown_lvm { my $opts = shift; print "\tvirsh destroy $opts->{lvm}\n"; system("virsh destroy $opts->{lvm}"); _virsh_list(); }
sub _virsh_list { print "\tvirsh list\n"; system('virsh list'); }
sub _start_lvm { my $opts = shift; print "\tvirsh create /xen/configs/$opts->{lvm}.cfg\n"; system("virsh create /xen/configs/$opts->{lvm}.cfg"); _virsh_list(); }
my $rnd = new String::Random; my $count = 0; while ( $count < $lvms ) {
my $id = $rnd->randpattern("cccccccc"); print "####\nLVM PASS: $count\nLVM: $id\n####\n";
print "Creating LVM...\n"; _create_lvm({ lvm => $id });
print "DD'ing template...\n"; _dd_template({ lvm => $id });
print "kpartxA LVM...\n"; _kpartx_lvm({ lvm => $id, modifier => 'a' });
print "e2fsck LVM..\n"; _e2fsck_lvm({ lvm => $id });
print "kpartxD LVM...\n"; _kpartx_lvm({ lvm => $id, modifier => 'd' });
print "Placing libvirt conf...\n"; _place_virtconf({ lvm => $id });
print "Partition setup:\n"; _display_lvm({ lvm => $id });
print "Performing $restarts_per_lvm restarts on $id...\n"; my $restart_cnt = 0; while ( $restart_cnt < $restarts_per_lvm ) {
print "####\nRESTART PASS: $restart_cnt\nLVM: $id\n####\n";
print "Shutting down LVM...\n"; _shutdown_lvm({ lvm => $id });
sleep $sleep if ( $sleep );
print "Starting LVM...\n"; _start_lvm({ lvm => $id });
$restart_cnt++; }
print "Removing LVM...\n"; _shutdown_lvm({ lvm => $id }); _remove_lvm({ lvm => $id });
$count++; }
I then started 21 of these scripts, with the below commands (preferably in a screen to reduce spamming):
perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 --sleep 10 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 --sleep 10 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 1000 --restarts_per_lvm 2000 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 & perl /root/libvirt_crash.pl --lvms 6000 --restarts_per_lvm 30 &
I already had libvirtd started under GDB at this point. I waited about 3-6 hours, and I found this in my GDB session:
2012-12-27 17:23:35.922+0000: 7445: error : qemuMonitorIO:614 : internal error End of file from monitor 2012-12-27 17:23:36.558+0000: 7445: error : qemuMonitorIO:614 : internal error End of file from monitor
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff8e1fc700 (LWP 31142)] qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 768 priv->jobs_queued++; Missing separate debuginfos, use: debuginfo-install audit-libs-2.1.3-3.el6.x86_64 augeas-libs-0.9.0-1.el6.x86_64 avahi-libs-0.6.25-11.el6.x86_64 cyrus-sasl-gssapi-2.1.23-13.el6.x86_64 cyrus-sasl-lib-2.1.23-13.el6.x86_64 cyrus-sasl-md5-2.1.23-13.el6.x86_64 cyrus-sasl-plain-2.1.23-13.el6.x86_64 db4-4.7.25-16.el6.x86_64 dbus-libs-1.2.24-5.el6_1.x86_64 device-mapper-libs-1.02.66-6.el6.x86_64 glibc-2.12-1.47.el6.x86_64 gnutls-2.8.5-4.el6.x86_64 keyutils-libs-1.4-3.el6.x86_64 krb5-libs-1.9-22.el6_2.1.x86_64 libblkid-2.17.2-12.4.el6.x86_64 libcap-ng-0.6.4-3.el6_0.1.x86_64 libcom_err-1.41.12-11.el6.x86_64 libcurl-7.19.7-26.el6_1.2.x86_64 libgcrypt-1.4.5-9.el6.x86_64 libgpg-error-1.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libnl-1.1-14.el6.x86_64 libpcap-1.0.0-6.20091201git117cb5.el6.x86_64 libpciaccess-0.12.1-1.el6.x86_64 libselinux-2.0.94-5.2.el6.x86_64 libsepol-2.0.41-4.el6.x86_64 libtasn1-2.3-3.el6.x86_64 libudev-147-2.40.el6.x86_64 libuuid-2.17.2-12.4.el6.x86_64 libxml2-2.7.6-4.el6.x86_64 libxslt-1.1.26-2.el6.x86_64 netcf-libs-0.1.9-2.el6.x86_64 nspr-4.8.8-3.el6.x86_64 nss-3.12.10-17.el6_2.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 nss-util-3.12.10-2.el6.x86_64 numactl-2.0.3-9.el6.x86_64 openldap-2.4.23-20.el6.x86_64 openssl-1.0.0-20.el6.x86_64 yajl-1.0.7-3.el6.x86_64 zlib-1.2.3-27.el6.x86_64 (gdb)
Here is the output of 'thread apply all bt' from this session:
Thread 30 (Thread 0x7fff8e1fc700 (LWP 31142)): #0 qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 #1 0x00007fffeac2b223 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2052 #2 0x00000039f10f97df in virDomainDestroy (domain=0x7fff741b8540) at libvirt.c:2201 #3 0x0000000000428e22 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00000039f1146152 in virNetServerProgramDispatchCall (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:304 #7 0x00000039f1143fee in virNetServerProcessMsg (srv=<value optimized out>, client=0x68eb50, prog=<value optimized out>, msg=0x6930b0) at rpc/virnetserver.c:171 #8 0x00000039f1144a8b in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=<value optimized out>) at rpc/virnetserver.c:192 #9 0x00000039f10643ec in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 29 (Thread 0x7fff8ebfd700 (LWP 20241)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 28 (Thread 0x7fff8f5fe700 (LWP 20235)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 27 (Thread 0x7fff8ffff700 (LWP 29349)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 26 (Thread 0x7fffb8dfa700 (LWP 29348)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 25 (Thread 0x7fffb97fb700 (LWP 28577)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 24 (Thread 0x7fffba1fc700 (LWP 28576)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 23 (Thread 0x7fffbabfd700 (LWP 28180)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 22 (Thread 0x7fffbb5fe700 (LWP 28178)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 21 (Thread 0x7fffe0dfa700 (LWP 12076)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 20 (Thread 0x7fffe17fb700 (LWP 5934)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 19 (Thread 0x7fffe21fc700 (LWP 5904)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 18 (Thread 0x7fffe2bfd700 (LWP 5860)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 17 (Thread 0x7fffbbfff700 (LWP 855)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 16 (Thread 0x7fffe97c4700 (LWP 835)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 11 (Thread 0x7fffec73f700 (LWP 7457)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 10 (Thread 0x7fffed140700 (LWP 7456)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 9 (Thread 0x7fffedb41700 (LWP 7455)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 8 (Thread 0x7fffee542700 (LWP 7454)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 7 (Thread 0x7fffeef43700 (LWP 7453)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 6 (Thread 0x7fffef944700 (LWP 7452)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 5 (Thread 0x7ffff0345700 (LWP 7451)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 4 (Thread 0x7ffff0d46700 (LWP 7450)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7ffff1747700 (LWP 7449)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7ffff2148700 (LWP 7448)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000039f1063eb6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00000039f1064483 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7ffff7fda800 (LWP 7445)): #0 0x0000003009a46f60 in vfprintf () from /lib64/libc.so.6 #1 0x0000003009afc970 in __vsnprintf_chk () from /lib64/libc.so.6 #2 0x0000003009afc8aa in __snprintf_chk () from /lib64/libc.so.6 #3 0x00000039f108144a in snprintf (when=<value optimized out>, buf=0x7fffffffd470 "2012-12-27 17:23:36.561+0000") at /usr/include/bits/stdio2.h:65 #4 virTimeStringThenRaw (when=<value optimized out>, buf=0x7fffffffd470 "2012-12-27 17:23:36.561+0000") at util/virtime.c:219 #5 0x00000039f108167a in virTimeStringNowRaw (buf=0x7fffffffd470 "2012-12-27 17:23:36.561+0000") at util/virtime.c:195 #6 0x00000039f105834b in virLogVMessage (source=VIR_LOG_FROM_FILE, priority=<value optimized out>, filename=0x39f11ad70b "util/event_poll.c", linenr=378, funcname=0x39f11adcc0 "virEventPollMakePollFDs", fmt=<value optimized out>, vargs=0x7fffffffd4f0) at util/logging.c:822 #7 0x00000039f10586ec in virLogMessage (source=<value optimized out>, priority=<value optimized out>, filename=<value optimized out>, linenr=<value optimized out>, funcname=<value optimized out>, fmt=<value optimized out>) at util/logging.c:753 #8 0x00000039f1052241 in virEventPollMakePollFDs () at util/event_poll.c:374 #9 virEventPollRunOnce () at util/event_poll.c:605 #10 0x00000039f1051666 in virEventRunDefaultImpl () at util/event.c:247 #11 0x00000039f11437dd in virNetServerRun (srv=0x67fe60) at rpc/virnetserver.c:1004 #12 0x000000000040c5a3 in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1354 (gdb)
Does anyone have any insights as to the cause of this, or any potential solutions? If there's anything I can add that would help let me know.

On 28.12.2012 14:24, Scott Sullivan wrote:
In case its useful, here's the 'bt' output from this session as well:
(gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 #1 0x00007fffeac2b223 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2052 #2 0x00000039f10f97df in virDomainDestroy (domain=0x7fff741b8540) at libvirt.c:2201 #3 0x0000000000428e22 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized > out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00000039f1146152 in virNetServerProgramDispatchCall (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:304 #7 0x00000039f1143fee in virNetServerProcessMsg (srv=<value optimized out>, client=0x68eb50, prog=<value optimized out>, msg=0x6930b0) at rpc/virnetserver.c:171 #8 0x00000039f1144a8b in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=<value optimized out>) at rpc/virnetserver.c:192 #9 0x00000039f10643ec in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb)
I think this patch should fix your problem: https://www.redhat.com/archives/libvir-list/2012-December/msg00935.html If so, can you please test and confirm that since you already have everything set up. Michal

On 12/28/2012 10:50 AM, Michal Privoznik wrote:
On 28.12.2012 14:24, Scott Sullivan wrote:
In case its useful, here's the 'bt' output from this session as well:
(gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 #1 0x00007fffeac2b223 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2052 #2 0x00000039f10f97df in virDomainDestroy (domain=0x7fff741b8540) at libvirt.c:2201 #3 0x0000000000428e22 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized> out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00000039f1146152 in virNetServerProgramDispatchCall (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:304 #7 0x00000039f1143fee in virNetServerProcessMsg (srv=<value optimized out>, client=0x68eb50, prog=<value optimized out>, msg=0x6930b0) at rpc/virnetserver.c:171 #8 0x00000039f1144a8b in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=<value optimized out>) at rpc/virnetserver.c:192 #9 0x00000039f10643ec in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb)
I think this patch should fix your problem:
https://www.redhat.com/archives/libvir-list/2012-December/msg00935.html
If so, can you please test and confirm that since you already have everything set up.
Michal
I have applied this patch, on top of stable v1.0.1. I am going have my test running over the weekend, and will report back if I get another SIGSEGV as I saw before. However so far, I have ran the same test as I noted in my previous posting, and after maybe 20 minutes this time I got another halt in my GDB session, though this time it is a SIGPIPE. Here is the output: Program received signal SIGPIPE, Broken pipe. 0x000000300a20e48d in write () from /lib64/libpthread.so.0 Missing separate debuginfos, use: debuginfo-install audit-libs-2.1.3-3.el6.x86_64 augeas-libs-0.9.0-1.el6.x86_64 avahi-libs-0.6.25-11.el6.x86_64 cyrus-sasl-gssapi-2.1.23-13.el6.x86_64 cyrus-sasl-lib-2.1.23-13.el6.x86_64 cyrus-sasl-md5-2.1.23-13.el6.x86_64 cyrus-sasl-plain-2.1.23-13.el6.x86_64 db4-4.7.25-16.el6.x86_64 dbus-libs-1.2.24-5.el6_1.x86_64 device-mapper-libs-1.02.66-7storm.x86_64 glibc-2.12-1.47.el6.x86_64 gnutls-2.8.5-4.el6.x86_64 keyutils-libs-1.4-3.el6.x86_64 krb5-libs-1.9-22.el6_2.1.x86_64 libblkid-2.17.2-12.4.el6.x86_64 libcap-ng-0.6.4-3.el6_0.1.x86_64 libcom_err-1.41.12-11.el6.x86_64 libcurl-7.19.7-26.el6_1.2.x86_64 libgcrypt-1.4.5-9.el6.x86_64 libgpg-error-1.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libnl-1.1-14.el6.x86_64 libpcap-1.0.0-6.20091201git117cb5.el6.x86_64 libpciaccess-0.12.1-1.el6.x86_64 libselinux-2.0.94-5.2.el6.x86_64 libsepol-2.0.41-4.el6.x86_64 libtasn1-2.3-3.el6.x86_64 libudev-147-2.40.el6.x86_64 libuuid-2.17.2-12.4.el6.x86_64 libxml2-2.7.6-4.el6.x86_64 libxslt-1.1.26-2.el6.x86_64 netcf-libs-0.1.9-2.el6.x86_64 nspr-4.8.8-3.el6.x86_64 nss-3.12.10-17.el6_2.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 nss-util-3.12.10-2.el6.x86_64 numactl-2.0.3-9.el6.x86_64 openldap-2.4.23-20.el6.x86_64 openssl-1.0.0-20.el6.x86_64 yajl-1.0.7-3.el6.x86_64 zlib-1.2.3-27.el6.x86_64 (gdb) bt #0 0x000000300a20e48d in write () from /lib64/libpthread.so.0 #1 0x00007ffff7adb47e in virNetSocketWriteWire (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1344 #2 0x00007ffff7adb67e in virNetSocketWrite (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1490 #3 0x00007ffff7acb3d6 in virNetServerClientWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1095 #4 virNetServerClientDispatchWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1116 #5 virNetServerClientDispatchEvent (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1227 #6 0x00007ffff79d6305 in virEventPollDispatchHandles () at util/event_poll.c:500 #7 virEventPollRunOnce () at util/event_poll.c:647 #8 0x00007ffff79d4ecd in virEventRunDefaultImpl () at util/event.c:247 #9 0x00007ffff7ace275 in virNetServerRun (srv=0x678df0) at rpc/virnetserver.c:1121 #10 0x000000000040c76a in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1449 (gdb) thread apply all bt Thread 28 (Thread 0x7fff86bfd700 (LWP 2038)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 27 (Thread 0x7fff875fe700 (LWP 32222)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 26 (Thread 0x7fff87fff700 (LWP 31895)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 25 (Thread 0x7fffb8dfa700 (LWP 31894)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 24 (Thread 0x7fffb97fb700 (LWP 31893)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 23 (Thread 0x7fffba1fc700 (LWP 31659)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 22 (Thread 0x7fffbabfd700 (LWP 31562)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 21 (Thread 0x7fffbb5fe700 (LWP 31555)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 20 (Thread 0x7fffe0dfa700 (LWP 31452)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 19 (Thread 0x7fffe17fb700 (LWP 31315)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 18 (Thread 0x7fffe21fc700 (LWP 31128)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 17 (Thread 0x7fffe2bfd700 (LWP 30991)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 16 (Thread 0x7fffe35fe700 (LWP 30801)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 15 (Thread 0x7fffbbfff700 (LWP 30790)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007fffea56a97c in qemuMonitorSend (mon=0x7fffb00052d0, msg=<value optimized out>) at qemu/qemu_monitor.c:907 #3 0x00007fffea576045 in qemuMonitorJSONCommandWithFd (mon=0x7fffb00052d0, cmd=0x7fffb0005c70, scm_fd=-1, reply=0x7fffbbffde48) at qemu/qemu_monitor_json.c:263 #4 0x00007fffea577af1 in qemuMonitorJSONGetCommands (mon=0x7fffb00052d0, commands=0x7fffbbffdea8) at qemu/qemu_monitor_json.c:3889 #5 0x00007fffea527ccf in qemuCapsProbeQMPCommands (caps=0x7fffb00050c0, mon=<value optimized out>) at qemu/qemu_capabilities.c:1927 #6 0x00007fffea528093 in qemuCapsProbeQMP (caps=0x7fffb00050c0, mon=0x7fffb00052d0) at qemu/qemu_capabilities.c:2128 #7 0x00007fffea553040 in qemuConnectMonitor (driver=0x7fffe4013520, vm=0x7fffb0001870) at qemu/qemu_process.c:1322 #8 0x00007fffea558f94 in qemuProcessWaitForMonitor (driver=<value optimized out>, vm=0x7fffb0001870, caps=0x7fffb00050c0, pos=<value optimized out>) at qemu/qemu_process.c:1670 #9 0x00007fffea55aa9a in qemuProcessStart (conn=0x7fffd4007120, driver=0x7fffe4013520, vm=0x7fffb0001870, migrateFrom=0x0, stdin_fd=-1, stdin_path=0x0, snapshot=0x0, vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=1) at qemu/qemu_process.c:3824 #10 0x00007fffea59329c in qemuDomainCreate (conn=0x7fffd4007120, xml=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:1701 #11 0x00007ffff7a76d87 in virDomainCreateXML (conn=0x7fffd4007120, xmlDesc=0x7fffb0000ae0 "<domain type=\"kvm\">\n <name>cmgmceul</name>\n <uuid>6c9d8e5d-9c2b-774c-306c-5f515b25e54b</uuid>\n <memory>450560</memory>\n <currentMemory>450560</currentMemory>\n <vcpu>2</vcpu>\n <cpu>\n <topology"..., flags=0) at libvirt.c:1979 #12 0x00000000004298a7 in remoteDispatchDomainCreateXML (server=<value optimized out>, client=0x686a00, msg=<value optimized out>, rerr=0x7fffbbffebc0, args=0x7fffb00f55c0, ret=0x7fffb00f57c0) at remote_dispatch.h:1172 #13 remoteDispatchDomainCreateXMLHelper (server=<value optimized out>, client=0x686a00, msg=<value optimized out>, rerr=0x7fffbbffebc0, args=0x7fffb00f55c0, ret=0x7fffb00f57c0) at remote_dispatch.h:1152 #14 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x686a00, msg=0x690130) at rpc/virnetserverprogram.c:431 #15 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x686a00, msg=0x690130) at rpc/virnetserverprogram.c:304 #16 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x686a00, prog=<value optimized out>, msg=0x690130) at rpc/virnetserver.c:173 #17 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #18 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #19 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #20 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #21 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 14 (Thread 0x7fffe912c700 (LWP 30786)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 11 (Thread 0x7fffec0cd700 (LWP 29955)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 10 (Thread 0x7fffecace700 (LWP 29954)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7fffed4cf700 (LWP 29953)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7fffeded0700 (LWP 29952)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7fffee8d1700 (LWP 29951)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7fffef2d2700 (LWP 29950)): #0 0x0000003009a794a1 in malloc () from /lib64/libc.so.6 #1 0x0000003009afede8 in __vasprintf_chk () from /lib64/libc.so.6 #2 0x00007ffff79eb2f4 in vasprintf (strp=<value optimized out>, fmt=<value optimized out>, list=<value optimized out>) at /usr/include/bits/stdio2.h:199 #3 virVasprintf (strp=<value optimized out>, fmt=<value optimized out>, list=<value optimized out>) at util/util.c:1990 #4 0x00007ffff79dc97b in virLogVMessage (source=VIR_LOG_FROM_TRACE, priority=<value optimized out>, filename=0x7fffea5be5f7 "qemu/qemu_monitor.c", linenr=904, funcname=0x7fffea5c0d70 "qemuMonitorSend", metadata=0x0, fmt=0x7fffea5bf300 "QEMU_MONITOR_SEND_MSG: mon=%p msg=%s fd=%d", vargs=0x7fffef2d1240) at util/logging.c:814 #5 0x00007ffff79dcda9 in virLogMessage (source=<value optimized out>, priority=<value optimized out>, filename=<value optimized out>, linenr=<value optimized out>, funcname=<value optimized out>, metadata=<value optimized out>, fmt=0x7fffea5bf300 "QEMU_MONITOR_SEND_MSG: mon=%p msg=%s fd=%d") at util/logging.c:751 #6 0x00007fffea56a935 in qemuMonitorSend (mon=0x7fffc40022d0, msg=<value optimized out>) at qemu/qemu_monitor.c:902 #7 0x00007fffea576045 in qemuMonitorJSONCommandWithFd (mon=0x7fffc40022d0, cmd=0x7fffc4032eb0, scm_fd=-1, reply=0x7fffef2d1428) at qemu/qemu_monitor_json.c:263 #8 0x00007fffea57899e in qemuMonitorJSONSetBalloon (mon=0x7fffc40022d0, newmem=<value optimized out>) at qemu/qemu_monitor_json.c:2067 #9 0x00007fffea55b540 in qemuProcessStart (conn=0x7fff94003920, driver=0x7fffe4013520, vm=<value optimized out>, migrateFrom=0x0, stdin_fd=-282258048, stdin_path=0x7fffc4032340 "", snapshot=0x0, vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=1) at qemu/qemu_process.c:3892 #10 0x00007fffea59329c in qemuDomainCreate (conn=0x7fff94003920, xml=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:1701 #11 0x00007ffff7a76d87 in virDomainCreateXML (conn=0x7fff94003920, xmlDesc=0x7fffc4000f00 "<domain type=\"kvm\">\n <name>ezkzoelz</name>\n <uuid>f9d6d86b-b75a-91df-6cc8-05236d2b4750</uuid>\n <memory>450560</memory>\n <currentMemory>450560</currentMemory>\n <vcpu>2</vcpu>\n <cpu>\n <topology"..., flags=0) at libvirt.c:1979 #12 0x00000000004298a7 in remoteDispatchDomainCreateXML (server=<value optimized out>, client=0x68c7d0, msg=<value optimized out>, rerr=0x7fffef2d1bc0, args=0x7fffc4000e70, ret=0x7fffc4000ed0) at remote_dispatch.h:1172 #13 remoteDispatchDomainCreateXMLHelper (server=<value optimized out>, client=0x68c7d0, msg=<value optimized out>, rerr=0x7fffef2d1bc0, args=0x7fffc4000e70, ret=0x7fffc4000ed0) at remote_dispatch.h:1152 #14 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x68c7d0, msg=0x687b00) at rpc/virnetserverprogram.c:431 #15 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x68c7d0, msg=0x687b00) at rpc/virnetserverprogram.c:304 #16 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x68c7d0, prog=<value optimized out>, msg=0x687b00) at rpc/virnetserver.c:173 #17 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #18 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #19 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #20 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #21 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7fffefcd3700 (LWP 29949)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7ffff06d4700 (LWP 29948)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7ffff10d5700 (LWP 29947)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7ffff1ad6700 (LWP 29946)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007fffea56a97c in qemuMonitorSend (mon=0x7fffcc005480, msg=<value optimized out>) at qemu/qemu_monitor.c:907 #3 0x00007fffea576045 in qemuMonitorJSONCommandWithFd (mon=0x7fffcc005480, cmd=0x7fffcc003900, scm_fd=-1, reply=0x7ffff1ad53b0) at qemu/qemu_monitor_json.c:263 #4 0x00007fffea57ca92 in qemuMonitorJSONGetCPUInfo (mon=0x7fffcc005480, pids=0x7ffff1ad5418) at qemu/qemu_monitor_json.c:1261 #5 0x00007fffea55551a in qemuProcessDetectVcpuPIDs (driver=0x7fffe4013520, vm=0x7fffcc000d20) at qemu/qemu_process.c:1728 #6 0x00007fffea55aaef in qemuProcessStart (conn=0x7fffc80824b0, driver=0x7fffe4013520, vm=0x7fffcc000d20, migrateFrom=0x0, stdin_fd=-1, stdin_path=0x0, snapshot=0x0, vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=1) at qemu/qemu_process.c:3836 #7 0x00007fffea59329c in qemuDomainCreate (conn=0x7fffc80824b0, xml=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:1701 #8 0x00007ffff7a76d87 in virDomainCreateXML (conn=0x7fffc80824b0, xmlDesc=0x7fffcc001820 "<domain type=\"kvm\">\n <name>vfkgfkgc</name>\n <uuid>d926a1a9-6a42-312b-ded8-4512c9328e8c</uuid>\n <memory>450560</memory>\n <currentMemory>450560</currentMemory>\n <vcpu>2</vcpu>\n <cpu>\n <topology"..., flags=0) at libvirt.c:1979 #9 0x00000000004298a7 in remoteDispatchDomainCreateXML (server=<value optimized out>, client=0x687b70, msg=<value optimized out>, rerr=0x7ffff1ad5bc0, args=0x7fffcc001fc0, ret=0x7fffcc002020) at remote_dispatch.h:1172 #10 remoteDispatchDomainCreateXMLHelper (server=<value optimized out>, client=0x687b70, msg=<value optimized out>, rerr=0x7ffff1ad5bc0, args=0x7fffcc001fc0, ret=0x7fffcc002020) at remote_dispatch.h:1152 #11 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x687b70, msg=0x686c60) at rpc/virnetserverprogram.c:431 #12 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x687b70, msg=0x686c60) at rpc/virnetserverprogram.c:304 #13 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x687b70, prog=<value optimized out>, msg=0x686c60) at rpc/virnetserver.c:173 #14 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #15 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #16 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #17 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #18 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ffff7968800 (LWP 29943)): #0 0x000000300a20e48d in write () from /lib64/libpthread.so.0 #1 0x00007ffff7adb47e in virNetSocketWriteWire (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1344 #2 0x00007ffff7adb67e in virNetSocketWrite (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1490 #3 0x00007ffff7acb3d6 in virNetServerClientWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1095 #4 virNetServerClientDispatchWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1116 #5 virNetServerClientDispatchEvent (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1227 #6 0x00007ffff79d6305 in virEventPollDispatchHandles () at util/event_poll.c:500 #7 virEventPollRunOnce () at util/event_poll.c:647 #8 0x00007ffff79d4ecd in virEventRunDefaultImpl () at util/event.c:247 #9 0x00007ffff7ace275 in virNetServerRun (srv=0x678df0) at rpc/virnetserver.c:1121 #10 0x000000000040c76a in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1449 (gdb) This appears to maybe be a different issue? I am going to start another test run now.

On 12/28/2012 01:31 PM, Scott Sullivan wrote:
On 12/28/2012 10:50 AM, Michal Privoznik wrote:
On 28.12.2012 14:24, Scott Sullivan wrote:
In case its useful, here's the 'bt' output from this session as well:
(gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe401d740, driver_locked=true, obj=0x7fff80001b00, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:768 #1 0x00007fffeac2b223 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2052 #2 0x00000039f10f97df in virDomainDestroy (domain=0x7fff741b8540) at libvirt.c:2201 #3 0x0000000000428e22 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized> out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fff8e1fbbe0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00000039f1146152 in virNetServerProgramDispatchCall (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6884a0, server=0x67fe60, client=0x68eb50, msg=0x6930b0) at rpc/virnetserverprogram.c:304 #7 0x00000039f1143fee in virNetServerProcessMsg (srv=<value optimized out>, client=0x68eb50, prog=<value optimized out>, msg=0x6930b0) at rpc/virnetserver.c:171 #8 0x00000039f1144a8b in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=<value optimized out>) at rpc/virnetserver.c:192 #9 0x00000039f10643ec in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00000039f1063cd9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb) I think this patch should fix your problem:
https://www.redhat.com/archives/libvir-list/2012-December/msg00935.html
If so, can you please test and confirm that since you already have everything set up.
Michal
I have applied this patch, on top of stable v1.0.1. I am going have my test running over the weekend, and will report back if I get another SIGSEGV as I saw before.
However so far, I have ran the same test as I noted in my previous posting, and after maybe 20 minutes this time I got another halt in my GDB session, though this time it is a SIGPIPE. Here is the output:
Program received signal SIGPIPE, Broken pipe. 0x000000300a20e48d in write () from /lib64/libpthread.so.0 Missing separate debuginfos, use: debuginfo-install audit-libs-2.1.3-3.el6.x86_64 augeas-libs-0.9.0-1.el6.x86_64 avahi-libs-0.6.25-11.el6.x86_64 cyrus-sasl-gssapi-2.1.23-13.el6.x86_64 cyrus-sasl-lib-2.1.23-13.el6.x86_64 cyrus-sasl-md5-2.1.23-13.el6.x86_64 cyrus-sasl-plain-2.1.23-13.el6.x86_64 db4-4.7.25-16.el6.x86_64 dbus-libs-1.2.24-5.el6_1.x86_64 device-mapper-libs-1.02.66-7storm.x86_64 glibc-2.12-1.47.el6.x86_64 gnutls-2.8.5-4.el6.x86_64 keyutils-libs-1.4-3.el6.x86_64 krb5-libs-1.9-22.el6_2.1.x86_64 libblkid-2.17.2-12.4.el6.x86_64 libcap-ng-0.6.4-3.el6_0.1.x86_64 libcom_err-1.41.12-11.el6.x86_64 libcurl-7.19.7-26.el6_1.2.x86_64 libgcrypt-1.4.5-9.el6.x86_64 libgpg-error-1.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libnl-1.1-14.el6.x86_64 libpcap-1.0.0-6.20091201git117cb5.el6.x86_64 libpciaccess-0.12.1-1.el6.x86_64 libselinux-2.0.94-5.2.el6.x86_64 libsepol-2.0.41-4.el6.x86_64 libtasn1-2.3-3.el6.x86_64 libudev-147-2.40.el6.x86_64 libuuid-2.17.2-12.4.el6.x86_64 libxml2-2.7.6-4.el6.x86_64 libxslt-1.1.26-2.el6.x86_64 netcf-libs-0.1.9-2.el6.x86_64 nspr-4.8.8-3.el6.x86_64 nss-3.12.10-17.el6_2.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 nss-util-3.12.10-2.el6.x86_64 numactl-2.0.3-9.el6.x86_64 openldap-2.4.23-20.el6.x86_64 openssl-1.0.0-20.el6.x86_64 yajl-1.0.7-3.el6.x86_64 zlib-1.2.3-27.el6.x86_64 (gdb) bt #0 0x000000300a20e48d in write () from /lib64/libpthread.so.0 #1 0x00007ffff7adb47e in virNetSocketWriteWire (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1344 #2 0x00007ffff7adb67e in virNetSocketWrite (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1490 #3 0x00007ffff7acb3d6 in virNetServerClientWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1095 #4 virNetServerClientDispatchWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1116 #5 virNetServerClientDispatchEvent (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1227 #6 0x00007ffff79d6305 in virEventPollDispatchHandles () at util/event_poll.c:500 #7 virEventPollRunOnce () at util/event_poll.c:647 #8 0x00007ffff79d4ecd in virEventRunDefaultImpl () at util/event.c:247 #9 0x00007ffff7ace275 in virNetServerRun (srv=0x678df0) at rpc/virnetserver.c:1121 #10 0x000000000040c76a in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1449 (gdb) thread apply all bt Thread 28 (Thread 0x7fff86bfd700 (LWP 2038)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 27 (Thread 0x7fff875fe700 (LWP 32222)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 26 (Thread 0x7fff87fff700 (LWP 31895)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 25 (Thread 0x7fffb8dfa700 (LWP 31894)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 24 (Thread 0x7fffb97fb700 (LWP 31893)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 23 (Thread 0x7fffba1fc700 (LWP 31659)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 22 (Thread 0x7fffbabfd700 (LWP 31562)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 21 (Thread 0x7fffbb5fe700 (LWP 31555)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 20 (Thread 0x7fffe0dfa700 (LWP 31452)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 19 (Thread 0x7fffe17fb700 (LWP 31315)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 18 (Thread 0x7fffe21fc700 (LWP 31128)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 17 (Thread 0x7fffe2bfd700 (LWP 30991)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 16 (Thread 0x7fffe35fe700 (LWP 30801)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 15 (Thread 0x7fffbbfff700 (LWP 30790)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007fffea56a97c in qemuMonitorSend (mon=0x7fffb00052d0, msg=<value optimized out>) at qemu/qemu_monitor.c:907 #3 0x00007fffea576045 in qemuMonitorJSONCommandWithFd (mon=0x7fffb00052d0, cmd=0x7fffb0005c70, scm_fd=-1, reply=0x7fffbbffde48) at qemu/qemu_monitor_json.c:263 #4 0x00007fffea577af1 in qemuMonitorJSONGetCommands (mon=0x7fffb00052d0, commands=0x7fffbbffdea8) at qemu/qemu_monitor_json.c:3889 #5 0x00007fffea527ccf in qemuCapsProbeQMPCommands (caps=0x7fffb00050c0, mon=<value optimized out>) at qemu/qemu_capabilities.c:1927 #6 0x00007fffea528093 in qemuCapsProbeQMP (caps=0x7fffb00050c0, mon=0x7fffb00052d0) at qemu/qemu_capabilities.c:2128 #7 0x00007fffea553040 in qemuConnectMonitor (driver=0x7fffe4013520, vm=0x7fffb0001870) at qemu/qemu_process.c:1322 #8 0x00007fffea558f94 in qemuProcessWaitForMonitor (driver=<value optimized out>, vm=0x7fffb0001870, caps=0x7fffb00050c0, pos=<value optimized out>) at qemu/qemu_process.c:1670 #9 0x00007fffea55aa9a in qemuProcessStart (conn=0x7fffd4007120, driver=0x7fffe4013520, vm=0x7fffb0001870, migrateFrom=0x0, stdin_fd=-1, stdin_path=0x0, snapshot=0x0, vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=1) at qemu/qemu_process.c:3824 #10 0x00007fffea59329c in qemuDomainCreate (conn=0x7fffd4007120, xml=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:1701 #11 0x00007ffff7a76d87 in virDomainCreateXML (conn=0x7fffd4007120, xmlDesc=0x7fffb0000ae0 "<domain type=\"kvm\">\n <name>cmgmceul</name>\n <uuid>6c9d8e5d-9c2b-774c-306c-5f515b25e54b</uuid>\n <memory>450560</memory>\n <currentMemory>450560</currentMemory>\n <vcpu>2</vcpu>\n <cpu>\n <topology"..., flags=0) at libvirt.c:1979 #12 0x00000000004298a7 in remoteDispatchDomainCreateXML (server=<value optimized out>, client=0x686a00, msg=<value optimized out>, rerr=0x7fffbbffebc0, args=0x7fffb00f55c0, ret=0x7fffb00f57c0) at remote_dispatch.h:1172 #13 remoteDispatchDomainCreateXMLHelper (server=<value optimized out>, client=0x686a00, msg=<value optimized out>, rerr=0x7fffbbffebc0, args=0x7fffb00f55c0, ret=0x7fffb00f57c0) at remote_dispatch.h:1152 #14 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x686a00, msg=0x690130) at rpc/virnetserverprogram.c:431 #15 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x686a00, msg=0x690130) at rpc/virnetserverprogram.c:304 #16 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x686a00, prog=<value optimized out>, msg=0x690130) at rpc/virnetserver.c:173 #17 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #18 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #19 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #20 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #21 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 14 (Thread 0x7fffe912c700 (LWP 30786)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 11 (Thread 0x7fffec0cd700 (LWP 29955)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 10 (Thread 0x7fffecace700 (LWP 29954)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 9 (Thread 0x7fffed4cf700 (LWP 29953)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 8 (Thread 0x7fffeded0700 (LWP 29952)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 7 (Thread 0x7fffee8d1700 (LWP 29951)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 6 (Thread 0x7fffef2d2700 (LWP 29950)): #0 0x0000003009a794a1 in malloc () from /lib64/libc.so.6 #1 0x0000003009afede8 in __vasprintf_chk () from /lib64/libc.so.6 #2 0x00007ffff79eb2f4 in vasprintf (strp=<value optimized out>, fmt=<value optimized out>, list=<value optimized out>) at /usr/include/bits/stdio2.h:199 #3 virVasprintf (strp=<value optimized out>, fmt=<value optimized out>, list=<value optimized out>) at util/util.c:1990 #4 0x00007ffff79dc97b in virLogVMessage (source=VIR_LOG_FROM_TRACE, priority=<value optimized out>, filename=0x7fffea5be5f7 "qemu/qemu_monitor.c", linenr=904, funcname=0x7fffea5c0d70 "qemuMonitorSend", metadata=0x0, fmt=0x7fffea5bf300 "QEMU_MONITOR_SEND_MSG: mon=%p msg=%s fd=%d", vargs=0x7fffef2d1240) at util/logging.c:814 #5 0x00007ffff79dcda9 in virLogMessage (source=<value optimized out>, priority=<value optimized out>, filename=<value optimized out>, linenr=<value optimized out>, funcname=<value optimized out>, metadata=<value optimized out>, fmt=0x7fffea5bf300 "QEMU_MONITOR_SEND_MSG: mon=%p msg=%s fd=%d") at util/logging.c:751 #6 0x00007fffea56a935 in qemuMonitorSend (mon=0x7fffc40022d0, msg=<value optimized out>) at qemu/qemu_monitor.c:902 #7 0x00007fffea576045 in qemuMonitorJSONCommandWithFd (mon=0x7fffc40022d0, cmd=0x7fffc4032eb0, scm_fd=-1, reply=0x7fffef2d1428) at qemu/qemu_monitor_json.c:263 #8 0x00007fffea57899e in qemuMonitorJSONSetBalloon (mon=0x7fffc40022d0, newmem=<value optimized out>) at qemu/qemu_monitor_json.c:2067 #9 0x00007fffea55b540 in qemuProcessStart (conn=0x7fff94003920, driver=0x7fffe4013520, vm=<value optimized out>, migrateFrom=0x0, stdin_fd=-282258048, stdin_path=0x7fffc4032340 "", snapshot=0x0, vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=1) at qemu/qemu_process.c:3892 #10 0x00007fffea59329c in qemuDomainCreate (conn=0x7fff94003920, xml=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:1701 #11 0x00007ffff7a76d87 in virDomainCreateXML (conn=0x7fff94003920, xmlDesc=0x7fffc4000f00 "<domain type=\"kvm\">\n <name>ezkzoelz</name>\n <uuid>f9d6d86b-b75a-91df-6cc8-05236d2b4750</uuid>\n <memory>450560</memory>\n <currentMemory>450560</currentMemory>\n <vcpu>2</vcpu>\n <cpu>\n <topology"..., flags=0) at libvirt.c:1979 #12 0x00000000004298a7 in remoteDispatchDomainCreateXML (server=<value optimized out>, client=0x68c7d0, msg=<value optimized out>, rerr=0x7fffef2d1bc0, args=0x7fffc4000e70, ret=0x7fffc4000ed0) at remote_dispatch.h:1172 #13 remoteDispatchDomainCreateXMLHelper (server=<value optimized out>, client=0x68c7d0, msg=<value optimized out>, rerr=0x7fffef2d1bc0, args=0x7fffc4000e70, ret=0x7fffc4000ed0) at remote_dispatch.h:1152 #14 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x68c7d0, msg=0x687b00) at rpc/virnetserverprogram.c:431 #15 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x68c7d0, msg=0x687b00) at rpc/virnetserverprogram.c:304 #16 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x68c7d0, prog=<value optimized out>, msg=0x687b00) at rpc/virnetserver.c:173 #17 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #18 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #19 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #20 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #21 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 5 (Thread 0x7fffefcd3700 (LWP 29949)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 4 (Thread 0x7ffff06d4700 (LWP 29948)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7ffff10d5700 (LWP 29947)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7ffff1ad6700 (LWP 29946)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007fffea56a97c in qemuMonitorSend (mon=0x7fffcc005480, msg=<value optimized out>) at qemu/qemu_monitor.c:907 #3 0x00007fffea576045 in qemuMonitorJSONCommandWithFd (mon=0x7fffcc005480, cmd=0x7fffcc003900, scm_fd=-1, reply=0x7ffff1ad53b0) at qemu/qemu_monitor_json.c:263 #4 0x00007fffea57ca92 in qemuMonitorJSONGetCPUInfo (mon=0x7fffcc005480, pids=0x7ffff1ad5418) at qemu/qemu_monitor_json.c:1261 #5 0x00007fffea55551a in qemuProcessDetectVcpuPIDs (driver=0x7fffe4013520, vm=0x7fffcc000d20) at qemu/qemu_process.c:1728 #6 0x00007fffea55aaef in qemuProcessStart (conn=0x7fffc80824b0, driver=0x7fffe4013520, vm=0x7fffcc000d20, migrateFrom=0x0, stdin_fd=-1, stdin_path=0x0, snapshot=0x0, vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=1) at qemu/qemu_process.c:3836 #7 0x00007fffea59329c in qemuDomainCreate (conn=0x7fffc80824b0, xml=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:1701 #8 0x00007ffff7a76d87 in virDomainCreateXML (conn=0x7fffc80824b0, xmlDesc=0x7fffcc001820 "<domain type=\"kvm\">\n <name>vfkgfkgc</name>\n <uuid>d926a1a9-6a42-312b-ded8-4512c9328e8c</uuid>\n <memory>450560</memory>\n <currentMemory>450560</currentMemory>\n <vcpu>2</vcpu>\n <cpu>\n <topology"..., flags=0) at libvirt.c:1979 #9 0x00000000004298a7 in remoteDispatchDomainCreateXML (server=<value optimized out>, client=0x687b70, msg=<value optimized out>, rerr=0x7ffff1ad5bc0, args=0x7fffcc001fc0, ret=0x7fffcc002020) at remote_dispatch.h:1172 #10 remoteDispatchDomainCreateXMLHelper (server=<value optimized out>, client=0x687b70, msg=<value optimized out>, rerr=0x7ffff1ad5bc0, args=0x7fffcc001fc0, ret=0x7fffcc002020) at remote_dispatch.h:1152 #11 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x687b70, msg=0x686c60) at rpc/virnetserverprogram.c:431 #12 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x687b70, msg=0x686c60) at rpc/virnetserverprogram.c:304 #13 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x687b70, prog=<value optimized out>, msg=0x686c60) at rpc/virnetserver.c:173 #14 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #15 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #16 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #17 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #18 0x0000003009ae570d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7ffff7968800 (LWP 29943)): #0 0x000000300a20e48d in write () from /lib64/libpthread.so.0 #1 0x00007ffff7adb47e in virNetSocketWriteWire (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1344 #2 0x00007ffff7adb67e in virNetSocketWrite (sock=0x685af0, buf=0x1e90690 "", len=36) at rpc/virnetsocket.c:1490 #3 0x00007ffff7acb3d6 in virNetServerClientWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1095 #4 virNetServerClientDispatchWrite (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1116 #5 virNetServerClientDispatchEvent (sock=<value optimized out>, events=11, opaque=0x68a7e0) at rpc/virnetserverclient.c:1227 #6 0x00007ffff79d6305 in virEventPollDispatchHandles () at util/event_poll.c:500 #7 virEventPollRunOnce () at util/event_poll.c:647 #8 0x00007ffff79d4ecd in virEventRunDefaultImpl () at util/event.c:247 #9 0x00007ffff7ace275 in virNetServerRun (srv=0x678df0) at rpc/virnetserver.c:1121 #10 0x000000000040c76a in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1449 (gdb)
This appears to maybe be a different issue? I am going to start another test run now. I have just now received another SIGSEGV, with your patch applied.
Here's the info from the GDB session: Detaching after fork from child process 11266. 2012-12-28 18:56:53.261+0000: 29943: error : qemuMonitorIO:614 : internal error End of file from monitor Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffec0cd700 (LWP 29955)] qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 780 priv->jobs_queued++; (gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffea599f46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x00007ffff7a83587 in virDomainDestroy (domain=0x7fffe414a510) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:304 #7 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x693a80, prog=<value optimized out>, msg=0x6986d0) at rpc/virnetserver.c:173 #8 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #9 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb) (gdb) thread apply all bt Thread 28 (Thread 0x7fff86bfd700 (LWP 2038)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 27 (Thread 0x7fff875fe700 (LWP 32222)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 26 (Thread 0x7fff87fff700 (LWP 31895)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 25 (Thread 0x7fffb8dfa700 (LWP 31894)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 24 (Thread 0x7fffb97fb700 (LWP 31893)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 23 (Thread 0x7fffba1fc700 (LWP 31659)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 22 (Thread 0x7fffbabfd700 (LWP 31562)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 21 (Thread 0x7fffbb5fe700 (LWP 31555)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 20 (Thread 0x7fffe0dfa700 (LWP 31452)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 19 (Thread 0x7fffe17fb700 (LWP 31315)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 18 (Thread 0x7fffe21fc700 (LWP 31128)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 17 (Thread 0x7fffe2bfd700 (LWP 30991)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 16 (Thread 0x7fffe35fe700 (LWP 30801)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 15 (Thread 0x7fffbbfff700 (LWP 30790)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 14 (Thread 0x7fffe912c700 (LWP 30786)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 11 (Thread 0x7fffec0cd700 (LWP 29955)): #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffea599f46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x00007ffff7a83587 in virDomainDestroy (domain=0x7fffe414a510) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:304 #7 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x693a80, prog=<value optimized out>, msg=0x6986d0) at rpc/virnetserver.c:173 #8 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #9 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 10 (Thread 0x7fffecace700 (LWP 29954)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7fffed4cf700 (LWP 29953)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7fffeded0700 (LWP 29952)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7fffee8d1700 (LWP 29951)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7fffef2d2700 (LWP 29950)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7fffed4cf700 (LWP 29953)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7fffeded0700 (LWP 29952)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7fffee8d1700 (LWP 29951)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7fffef2d2700 (LWP 29950)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 ---Type <return> to continue, or q <return> to quit--- #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7fffefcd3700 (LWP 29949)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7ffff06d4700 (LWP 29948)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7ffff10d5700 (LWP 29947)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7ffff1ad6700 (LWP 29946)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff79e8aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff79e9073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ffff7968800 (LWP 29943)): #0 0x0000003009a4691a in vfprintf () from /lib64/libc.so.6 #1 0x0000003009afc970 in __vsnprintf_chk () from /lib64/libc.so.6 #2 0x0000003009afc8aa in __snprintf_chk () from /lib64/libc.so.6 #3 0x00007ffff7a0788a in snprintf (when=<value optimized out>, buf=0x7fffffffd450 "2012-12-28 18:56:53.264+0000") at /usr/include/bits/stdio2.h:65 #4 virTimeStringThenRaw (when=<value optimized out>, buf=0x7fffffffd450 "2012-12-28 18:56:53.264+0000") at util/virtime.c:219 #5 0x00007ffff7a07aba in virTimeStringNowRaw (buf=0x7fffffffd450 "2012-12-28 18:56:53.264+0000") at util/virtime.c:195 #6 0x00007ffff79dc9b4 in virLogVMessage (source=VIR_LOG_FROM_FILE, priority=<value optimized out>, filename=0x7ffff7b4e705 "util/event_poll.c", linenr=393, funcname=0x7ffff7b4ed70 "virEventPollMakePollFDs", metadata=0x0, fmt=0x7ffff7b4eaa0 "Prepare n=%d w=%d, f=%d e=%d d=%d", vargs=0x7fffffffd4d0) at util/logging.c:822 #7 0x00007ffff79dcda9 in virLogMessage (source=<value optimized out>, priority=<value optimized out>, filename=<value optimized out>, linenr=<value optimized out>, funcname=<value optimized out>, metadata=<value optimized out>, fmt=0x7ffff7b4eaa0 "Prepare n=%d w=%d, f=%d e=%d d=%d") at util/logging.c:751 #8 0x00007ffff79d5bf9 in virEventPollMakePollFDs () at util/event_poll.c:389 #9 virEventPollRunOnce () at util/event_poll.c:620 #10 0x00007ffff79d4ecd in virEventRunDefaultImpl () at util/event.c:247 #11 0x00007ffff7ace275 in virNetServerRun (srv=0x678df0) at rpc/virnetserver.c:1121 #12 0x000000000040c76a in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1449 (gdb)

On 28.12.2012 20:23, Scott Sullivan wrote: <snip/>
I have just now received another SIGSEGV, with your patch applied.
Here's the info from the GDB session:
Detaching after fork from child process 11266. 2012-12-28 18:56:53.261+0000: 29943: error : qemuMonitorIO:614 : internal error End of file from monitor
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffec0cd700 (LWP 29955)] qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 780 priv->jobs_queued++; (gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffea599f46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x00007ffff7a83587 in virDomainDestroy (domain=0x7fffe414a510) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:304 #7 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x693a80, prog=<value optimized out>, msg=0x6986d0) at rpc/virnetserver.c:173 #8 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #9 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb)
This means, even though we successfully incremented reference counter on virDomainObjPtr object, somebody free()d it anyway (well, the privateData at least). Looks like a locking/concurrent access issue to me then. Unfortunately, I don't have any suggestions yet, as the domain object is supposed to be locked when entering the qemuDomainObjBeginJobInternal() function so it shouldn't get free()d meanwhile. Michal

On 12/29/2012 04:09 AM, Michal Privoznik wrote:
On 28.12.2012 20:23, Scott Sullivan wrote: <snip/>
I have just now received another SIGSEGV, with your patch applied.
Here's the info from the GDB session:
Detaching after fork from child process 11266. 2012-12-28 18:56:53.261+0000: 29943: error : qemuMonitorIO:614 : internal error End of file from monitor
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffec0cd700 (LWP 29955)] qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 780 priv->jobs_queued++; (gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffea599f46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x00007ffff7a83587 in virDomainDestroy (domain=0x7fffe414a510) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:304 #7 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x693a80, prog=<value optimized out>, msg=0x6986d0) at rpc/virnetserver.c:173 #8 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #9 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb)
This means, even though we successfully incremented reference counter on virDomainObjPtr object, somebody free()d it anyway (well, the privateData at least). Looks like a locking/concurrent access issue to me then. Unfortunately, I don't have any suggestions yet, as the domain object is supposed to be locked when entering the qemuDomainObjBeginJobInternal() function so it shouldn't get free()d meanwhile.
Michal
Michal, I have a faster way to reproduce the crash (~10 minutes). Continue to read for new (easier) steps. This test was done with the standard v1.0.0 libvirtd code source, with no other patches applied. Here is the end result from the standard libvirt.log after the crash was reproduced, outside gdb: 2013-01-02 14:05:40.775+0000: 20383: error : qemuProcessWaitForMonitor:1700 : internal error process exited while connecting to monitor: char device redirected to /dev/pts/18 qemu: terminating on signal 15 from pid 20198 Caught Segmentation violation dumping internal log buffer: ====== start of log ===== ^@: OBJECT_UNREF: obj=0x754200 2013-01-02 14:05:40.655+000020198: debug : virEventPollDispatchHandles:484 : i=3 w=4 2013-01-02 14:05:40.655+000020198: debug : virEventPollDispatchHandles:484 : i=4 w=5 2013-01-02 14:05:40.655+000020198: debug : virEventPollDispatchHandles:484 : i=5 w=6 ........ <snip> Here's the script I used: #!/usr/bin/env perl use strict; use warnings; use threads; use threads::shared; my $upper_bound = $ARGV[0] || die "No upper bound specified!\n"; my $id = $ARGV[1] || die "No id specified!\n"; sub _shutdown_lvm { print "\tvirsh destroy $id\n"; system("virsh destroy $id"); } sub _start_lvm { print "\tvirsh create /xen/configs/$id.cfg\n"; system("virsh create /xen/configs/$id.cfg"); } sub _sequence { my $num = shift; print "started thread $num\n"; _shutdown_lvm(); _start_lvm(); print "done with thread $num\n"; return $num; } my @threads; for ( my $count = 1; $count <= $upper_bound; $count++) { my $t = threads->new(\&_sequence, $count); push(@threads,$t); } foreach (@threads) { my $num = $_->join; print "done with $num\n"; } I then ran it, with these args: perl libvirt_crash.pl 90000 zzueyjvh I then got the segfault within 10 minutes: 2013-01-02 14:16:39.820+0000: 4627: error : qemuProcessWaitForMonitor:1700 : internal error process exited while connecting to monitor: char device redirected to /dev/pts/22 qemu: terminating on signal 15 from pid 3501 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffa17fb700 (LWP 17310)] qemuDomainObjBeginJobInternal (driver=0x7fffe4018c70, driver_locked=true, obj=0x7fffb0001b80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 780 priv->jobs_queued++; (gdb) (gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4018c70, driver_locked=true, obj=0x7fffb0001b80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffeac0bf46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x0000003a35302587 in virDomainDestroy (domain=0x7fff90002600) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffa17fabc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffa17fabc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x0000003a3534fd02 in virNetServerProgramDispatchCall (prog=0x6894a0, server=0x680e60, client=0x129bf90, msg=0xe99130) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6894a0, server=0x680e60, client=0x129bf90, msg=0xe99130) at rpc/virnetserverprogram.c:304 #7 0x0000003a3534daa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x129bf90, prog=<value optimized out>, msg=0xe99130) at rpc/virnetserver.c:173 #8 0x0000003a3534e5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x680e60) at rpc/virnetserver.c:194 #9 0x0000003a35267fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb) Thread 36 (Thread 0x7fff8a1fc700 (LWP 17626)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 35 (Thread 0x7fff8abfd700 (LWP 17624)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 34 (Thread 0x7fff8b5fe700 (LWP 17622)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 33 (Thread 0x7fff8bfff700 (LWP 17596)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 32 (Thread 0x7fffa0dfa700 (LWP 17595)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 31 (Thread 0x7fffa17fb700 (LWP 17310)): #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4018c70, driver_locked=true, obj=0x7fffb0001b80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffeac0bf46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x0000003a35302587 in virDomainDestroy (domain=0x7fff90002600) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffa17fabc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffa17fabc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x0000003a3534fd02 in virNetServerProgramDispatchCall (prog=0x6894a0, server=0x680e60, client=0x129bf90, msg=0xe99130) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6894a0, server=0x680e60, client=0x129bf90, msg=0xe99130) at rpc/virnetserverprogram.c:304 #7 0x0000003a3534daa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x129bf90, prog=<value optimized out>, msg=0xe99130) at rpc/virnetserver.c:173 #8 0x0000003a3534e5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x680e60) at rpc/virnetserver.c:194 #9 0x0000003a35267fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 30 (Thread 0x7fffa21fc700 (LWP 17309)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 29 (Thread 0x7fffa2bfd700 (LWP 17307)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 28 (Thread 0x7fffa35fe700 (LWP 17306)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 27 (Thread 0x7fffa3fff700 (LWP 17139)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 26 (Thread 0x7fffc4dfa700 (LWP 4654)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 25 (Thread 0x7fffc57fb700 (LWP 4630)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 24 (Thread 0x7fffc61fc700 (LWP 4627)): #0 0x000000300a20dff4 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x000000300a209328 in _L_lock_854 () from /lib64/libpthread.so.0 #2 0x000000300a2091f7 in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x0000003a3525443b in virEventPollUpdateHandle (watch=3518, events=3) at util/event_poll.c:154 #4 0x0000003a353597a4 in virNetSocketUpdateIOCallback (sock=0xe992a0, events=3) at rpc/virnetsocket.c:1707 #5 0x0000003a3534994b in virNetServerClientUpdateEvent (client=0x68e4e0) at rpc/virnetserverclient.c:225 #6 0x0000003a35349a8c in virNetServerClientSendMessageLocked (client=0x68e4e0, msg=0xe99c70) at rpc/virnetserverclient.c:1262 #7 0x0000003a35349ae0 in virNetServerClientSendMessage (client=0x68e4e0, msg=0xe99c70) at rpc/virnetserverclient.c:1275 #8 0x0000003a3534f576 in virNetServerProgramSendError (program=<value optimized out>, version=<value optimized out>, client=0x68e4e0, msg=0xe99c70, rerr=0x7fffc61fbbc0, procedure=10, type=1, serial=4) at rpc/virnetserverprogram.c:170 #9 0x0000003a3534f66d in virNetServerProgramSendReplyError (prog=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=<value optimized out>, req=<value optimized out>) at rpc/virnetserverprogram.c:201 #10 0x0000003a3534fb94 in virNetServerProgramDispatchCall (prog=0x6894a0, server=<value optimized out>, client=0x68e4e0, msg=0xe99c70) at rpc/virnetserverprogram.c:486 #11 virNetServerProgramDispatch (prog=0x6894a0, server=<value optimized out>, client=0x68e4e0, msg=0xe99c70) at rpc/virnetserverprogram.c:304 #12 0x0000003a3534daa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x68e4e0, prog=<value optimized out>, msg=0xe99c70) at rpc/virnetserver.c:173 #13 0x0000003a3534e5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x680e60) at rpc/virnetserver.c:194 #14 0x0000003a35267fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #15 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #16 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #17 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 23 (Thread 0x7fffc6bfd700 (LWP 4622)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 22 (Thread 0x7fffe979e700 (LWP 4619)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 11 (Thread 0x7fffec73f700 (LWP 3513)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 10 (Thread 0x7fffed140700 (LWP 3512)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7fffedb41700 (LWP 3511)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7fffee542700 (LWP 3510)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7fffeef43700 (LWP 3509)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7fffef944700 (LWP 3508)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7ffff0345700 (LWP 3507)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7ffff0d46700 (LWP 3506)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7ffff1747700 (LWP 3505)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7ffff2148700 (LWP 3504)): #0 0x000000300a20b3dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003a35267aa6 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x0000003a35268073 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x0000003a352678c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003009ae570d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ffff7fda800 (LWP 3501)): #0 0x0000003009a74808 in _IO_str_overflow_internal () from /lib64/libc.so.6 #1 0x0000003009a73899 in _IO_default_xsputn_internal () from /lib64/libc.so.6 #2 0x0000003009a47516 in vfprintf () from /lib64/libc.so.6 #3 0x0000003009afed5c in __vasprintf_chk () from /lib64/libc.so.6 #4 0x0000003a3526a2f4 in vasprintf (strp=<value optimized out>, fmt=<value optimized out>, list=<value optimized out>) at /usr/include/bits/stdio2.h:199 #5 virVasprintf (strp=<value optimized out>, fmt=<value optimized out>, list=<value optimized out>) at util/util.c:1990 #6 0x0000003a3526a398 in virAsprintf (strp=<value optimized out>, fmt=<value optimized out>) at util/util.c:2008 #7 0x0000003a3525b4f5 in virLogFormatString (msg=0x7fffffffd440, linenr=353, funcname=0x3a353cddb0 "virEventPollCalculateTimeout", priority=<value optimized out>, str=0x129c410 "Schedule timeout then=1357136203671 now=1357136199821") at util/logging.c:692 #8 0x0000003a3525b99b in virLogVMessage (source=VIR_LOG_FROM_FILE, priority=<value optimized out>, filename=0x3a353cd705 "util/event_poll.c", linenr=353, funcname=0x3a353cddb0 "virEventPollCalculateTimeout", metadata=0x0, fmt=0x3a353cdb10 "Schedule timeout then=%llu now=%llu", vargs=0x7fffffffd4d0) at util/logging.c:818 #9 0x0000003a3525bda9 in virLogMessage (source=<value optimized out>, priority=<value optimized out>, filename=<value optimized out>, linenr=<value optimized out>, funcname=<value optimized out>, metadata=<value optimized out>, fmt=0x3a353cdb10 "Schedule timeout then=%llu now=%llu") at util/logging.c:751 #10 0x0000003a35255368 in virEventPollCalculateTimeout () at util/event_poll.c:353 #11 virEventPollRunOnce () at util/event_poll.c:621 #12 0x0000003a35253ecd in virEventRunDefaultImpl () at util/event.c:247 #13 0x0000003a3534d275 in virNetServerRun (srv=0x680e60) at rpc/virnetserver.c:1121 #14 0x000000000040c76a in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1449 (gdb)

On 01/02/2013 09:45 AM, Scott Sullivan wrote:
On 12/29/2012 04:09 AM, Michal Privoznik wrote:
I have just now received another SIGSEGV, with your patch applied.
Here's the info from the GDB session:
Detaching after fork from child process 11266. 2012-12-28 18:56:53.261+0000: 29943: error : qemuMonitorIO:614 : internal error End of file from monitor
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffec0cd700 (LWP 29955)] qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 780 priv->jobs_queued++; (gdb) bt #0 qemuDomainObjBeginJobInternal (driver=0x7fffe4013520, driver_locked=true, obj=0x7fff7801fc80, job=QEMU_JOB_DESTROY, asyncJob=QEMU_ASYNC_JOB_NONE) at qemu/qemu_domain.c:780 #1 0x00007fffea599f46 in qemuDomainDestroyFlags (dom=<value optimized out>, flags=<value optimized out>) at qemu/qemu_driver.c:2189 #2 0x00007ffff7a83587 in virDomainDestroy (domain=0x7fffe414a510) at libvirt.c:2215 #3 0x00000000004296e2 in remoteDispatchDomainDestroy (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1277 #4 remoteDispatchDomainDestroyHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffec0ccbc0, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:1255 #5 0x00007ffff7ad0d02 in virNetServerProgramDispatchCall (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:431 #6 virNetServerProgramDispatch (prog=0x6814d0, server=0x678df0, client=0x693a80, msg=0x6986d0) at rpc/virnetserverprogram.c:304 #7 0x00007ffff7aceaa6 in virNetServerProcessMsg (srv=<value optimized out>, client=0x693a80, prog=<value optimized out>, msg=0x6986d0) at rpc/virnetserver.c:173 #8 0x00007ffff7acf5e3 in virNetServerHandleJob (jobOpaque=<value optimized out>, opaque=0x678df0) at rpc/virnetserver.c:194 #9 0x00007ffff79e8fdc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #10 0x00007ffff79e88c9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #11 0x000000300a2077f1 in start_thread () from /lib64/libpthread.so.0 #12 0x0000003009ae570d in clone () from /lib64/libc.so.6 (gdb) This means, even though we successfully incremented reference counter on virDomainObjPtr object, somebody free()d it anyway (well, the
On 28.12.2012 20:23, Scott Sullivan wrote: <snip/> privateData at least). Looks like a locking/concurrent access issue to me then. Unfortunately, I don't have any suggestions yet, as the domain object is supposed to be locked when entering the qemuDomainObjBeginJobInternal() function so it shouldn't get free()d meanwhile.
Michal Michal,
I have a faster way to reproduce the crash (~10 minutes). Continue to read for new (easier) steps. This test was done with the standard v1.0.0 libvirtd code source, with no other patches applied.
<snip>
Not sure how much this helps, but in my testing I have found this issue was introduced with v0.9.12. I cannot reproduce this issue under v0.9.11.X or older. Comparing src/qemu/qemu_domain.c between v0.9.11.X and v0.9.12 I see numerous changes to the code related to locking/concurrency. For instance, the introduction of qemuDomainTrackJob as one large difference I see.
participants (2)
-
Michal Privoznik
-
Scott Sullivan