Bug 884420

Summary: qemu-kvm crash when sending some qmp monitor cmd
Product: Red Hat Enterprise Linux 6 Reporter: Qingtang Zhou <qzhou>
Component: qemu-kvmAssignee: Luiz Capitulino <lcapitulino>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: acathrow, areis, bsarathy, dyasny, michen, mkenneth, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-07 12:19:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
core backtrace
none
monitor log none

Description Qingtang Zhou 2012-12-06 08:29:52 UTC
Description of problem:
qemu-kvm crashed with signal 11 when sending some qmp monitor cmd to it.
It looks like a quick stop/cont cmd causes this problem, 

Here is some qmp cmd/response before qemu crash (Full monitor log will be attached.) :
"""
2012-12-06 02:33:47: {"execute": "stop", "id": "WRKKwhMC"}
2012-12-06 02:33:47: {"timestamp": {"seconds": 1354732427, "microseconds": 476523}, "event": "STOP"}
2012-12-06 02:33:47: {"return": {}, "id": "WRKKwhMC"}
2012-12-06 02:33:47: {"execute": "query-status", "id": "pPXWpw6I"}
2012-12-06 02:33:47: {"return": {"status": "paused", "singlestep": false, "running": false}, "id": "pPXWpw6I"}
2012-12-06 02:33:47: {"execute": "cont", "id": "fCu7WH93"}
2012-12-06 02:33:47: {"timestamp": {"seconds": 1354732427, "microseconds": 478366}, "event": "RESUME"}
2012-12-06 02:33:47: {"return": {}, "id": "fCu7WH93"}
2012-12-06 02:33:47: {"execute": "query-status", "id": "hEtSudJJ"}
2012-12-06 02:34:07: {"execute": "query-status", "id": "yQy8ag7s"}
2012-12-06 02:34:27: {"execute": "query-status", "id": "12rD5HrQ"}
"""
(Autotest reported qemu crashed at 02:34:41, but the 'query-status' cmd sent at 02:33:47 had no response, looks qemu was abnormal from that time.)

Version-Release number of selected component (if applicable):
# rpm -qa | grep -E "kernel|qemu|seabios"
kernel-headers-2.6.32-343.el6.x86_64
kernel-2.6.32-343.el6.x86_64
kernel-devel-2.6.32-343.el6.x86_64
dracut-kernel-004-302.el6.noarch
kernel-firmware-2.6.32-343.el6.noarch
qemu-kvm-0.12.1.2-2.337.el6.x86_64
seabios-0.6.1.2-25.el6.x86_64
qemu-guest-agent-0.12.1.2-2.335.el6.x86_64
qemu-kvm-debuginfo-0.12.1.2-2.337.el6.x86_64


How reproducible:
1/1

Steps to Reproduce:
1) PCI add one device block with repeat
2) Compare output of monitor command 'info pci'.
3) Compare output in guest.
4) Verify whether pci_model is shown in guest.
5) Check whether the newly added PCI device works fine.
6) PCI delete the device, verify whether could remove the PCI device.
  
Actual results:


Expected results:


Additional info:
Backtrace (Full bt info will be attached.):
(gdb) bt
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007fe2cda4d388 in _L_lock_854 () from /lib64/libpthread-2.12.so
#2  0x00007fe2cda4d257 in __pthread_mutex_lock (mutex=0x7fe2ce5fc980) at pthread_mutex_lock.c:61
#3  0x00007fe2ce1153aa in kvm_main_loop_wait (env=0x7fe2d02dadc0, timeout=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1874
#4  0x00007fe2ce1159fd in kvm_main_loop_cpu (_env=0x7fe2d02dadc0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2007
#5  ap_main_loop (_env=0x7fe2d02dadc0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2060
#6  0x00007fe2cda4b851 in start_thread (arg=0x7fe2c636d700) at pthread_create.c:301
#7  0x00007fe2cbb0a90d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

qemu-kvm cmd line:
/usr/local/staf/test/RHEV/kvm/autotest-devel/client/tests/kvm/qemu  \ 
    -S  \ 
    -name 'vm1'  \ 
    -nodefaults  \ 
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/qmpmonitor1,server,nowait  \ 
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \ 
    -chardev socket,id=serial_id_serial1,path=/tmp/serial,server,nowait  \ 
    -device isa-serial,chardev=serial_id_serial1  \ 
    -chardev socket,id=seabioslog,path=/tmp/seabios,server,nowait  \ 
    -device isa-debugcon,chardev=seabioslog,iobase=0x402  \ 
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=0x4  \ 
    -drive file='RHEL-4.9-32-virtio.raw',if=none,id=drive-virtio-disk1,media=disk,cache=none,boot=off,snapshot=off,format=raw,aio=native  \ 
    -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1  \ 
    -device virtio-net-pci,netdev=idPGxiei,mac=9a:67:68:69:6a:6b,bus=pci.0,addr=0x3,id='idvwCP6d'  \ 
    -netdev tap,id=idPGxiei,vhost=on,fd=28  \ 
    -m 4096  \ 
    -smp 1,cores=1,threads=1,sockets=2  \ 
    -cpu 'Penryn'  \ 
    -M rhel6.4.0  \ 
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \ 
    -vnc :0  \ 
    -vga cirrus  \ 
    -rtc base=utc,clock=host,driftfix=slew   \ 
    -boot order=cdn,once=c,menu=off    \ 
    -no-kvm-pit-reinjection  \ 
    -enable-kvm \

Comment 1 Qingtang Zhou 2012-12-06 08:32:04 UTC
Created attachment 658581 [details]
core backtrace

Comment 3 Qingtang Zhou 2012-12-06 08:48:47 UTC
Created attachment 658586 [details]
monitor log

Comment 4 Luiz Capitulino 2012-12-07 12:19:40 UTC

Have tried to reproduce this by hand or did you get this with autotest?

There are two bugs you might be triggering:

o Bug

*** This bug has been marked as a duplicate of bug 822386 ***

Comment 5 Luiz Capitulino 2012-12-07 12:21:40 UTC
Sorry for the incomplete comment above, but while I was written it I realized I would write the same things I wrote in bug 822386, which was then I realized this must be the same issue.