Bug 616695 - [qemu] [rhel6] dead lock in qemu: /usr/libexec/qemu-kvm: corrupted double-linked list: 0x00007fa3300637f0 ***
Summary: [qemu] [rhel6] dead lock in qemu: /usr/libexec/qemu-kvm: corrupted double-lin...
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.1
Hardware: All
OS: Linux
Target Milestone: rc
: 6.2
Assignee: Marcelo Tosatti
QA Contact: Virtualization Bugs
Keywords: RHELNAK
Depends On:
Blocks: 580953 682015
TreeView+ depends on / blocked
Reported: 2010-07-21 08:30 UTC by Haim
Modified: 2014-01-13 00:46 UTC (History)
10 users (show)

Clone Of:
Last Closed: 2011-04-27 08:02:29 UTC

Attachments (Terms of Use)

Description Haim 2010-07-21 08:30:28 UTC
Description of problem:

hit a deadlock in qemu which caused by probably memory corruption; as seen in the following log. 

*** glibc detected *** /usr/libexec/qemu-kvm: corrupted double-linked list: 0x00007fa3300637f0 ***

attached also qemu command: 

LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.0.0 -cpu qemu64,-svm -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name libvirt-rhel54-124 -uuid 31e431e2-aaf3-42af-b121-0c2ff9b2b227 -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/libvirt-rhel54-124.monitor,server,nowait -mon chardev=monitor,mode=control -rtc base=2010-6-20T2:24:30 -boot c -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x7 -drive file=/rhev/data-center/841af73a-d3bf-4bb8-9985-0603fdcf302e/aaac4a9b-ae1f-4e4b-9c71-d25eb10bc83f/images/ada6e83b-572c-4042-938f-82ac472384b9/3b84ff9a-a2d5-4e2c-a35e-049da8a1c4cc,if=none,id=drive-virtio-disk0,boot=on,format=qcow2,serial=42-938f-82ac472384b9,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0 -drive file=/rhev/data-center/841af73a-d3bf-4bb8-9985-0603fdcf302e/aaac4a9b-ae1f-4e4b-9c71-d25eb10bc83f/images/7b387531-0939-4309-b005-a12992ba141a/c40b94b9-a07a-497e-be3c-e6034ba8dab8,if=none,id=drive-virtio-disk1,format=qcow2,serial=09-b005-a12992ba141a,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=36 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:23:71:8f,bus=pci.0,addr=0x6 -chardev socket,id=channel0,path=/var/lib/libvirt/qemu/channels/libvirt-rhel54-124.org.linux-kvm.port.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=0,chardev=channel0,name=org.linux-kvm.port.0 -usb -device usb-tablet,id=input0 -vnc 0:13,password -k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3

it's a bit problem to reproduce, it happened to me when I load server with 60 vms and then killed all of thier qemu process (using rhevm). 
it happened on 2 servers so far. 

showed it to gleb and he said its a qumu bug. 

(gdb) info threads
  2 Thread 0x7fa336b29710 (LWP 10784)  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
* 1 Thread 0x7fa33712e800 (LWP 10763)  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136

#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x0000003ceb609345 in _L_lock_868 () from /lib64/libpthread.so.0
#2  0x0000003ceb609217 in __pthread_mutex_lock (mutex=0x866c20) at pthread_mutex_lock.c:61
#3  0x0000000000427efe in kvm_mutex_lock () at /usr/src/debug/qemu-kvm-
#4  0x000000000040af28 in main_loop_wait (timeout=1000) at /usr/src/debug/qemu-kvm-
#5  0x00000000004282aa in kvm_main_loop () at /usr/src/debug/qemu-kvm-
#6  0x000000000040dfab in main_loop (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>)
    at /usr/src/debug/qemu-kvm-
#7  main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-


2.6.32-44.1.el6.x86_64 (kernel)

How reproducible: hard - try load 60 vms on server, and kill their qemu-process

Comment 1 Cao, Chen 2010-07-26 07:03:09 UTC
why 6.1 bug?

make it block rhel6kvmtier1,
we could remove the blocker if the bug is indeed against rhel6.1.

Comment 2 RHEL Product and Program Management 2010-07-26 07:17:37 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 4 Marcelo Tosatti 2010-08-30 18:42:15 UTC
Please describe in more detail how you killed the vms.

Comment 5 Haim 2010-08-30 19:43:22 UTC
(In reply to comment #4)
> Please describe in more detail how you killed the vms.

you can do it either by kill qemu process with 'pkill qemu' or use vdsm 
and send stop command towards vm id (should behave the same). 

configuration (layers): 


Comment 6 Glauber Costa 2010-11-04 18:15:13 UTC
Is it kill as in SIGKILL or kill as in sending a SIGSTOP?
I am puzzled by your comment that says it is the same as stopping the machine.

If it is a SIGSTOP, then it raises in importance IMHO.

Note You need to log in before you can comment on or make changes to this bug.