Bug 1075846
Summary: | qemu-kvm core dumped when hotplug/unhotplug USB3.0 device multi times | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | ShupingCui <scui> |
Component: | qemu-kvm | Assignee: | Gerd Hoffmann <kraxel> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.0 | CC: | chayang, hhuang, huding, juzhang, knoel, michen, mrezanin, qiguo, rbalakri, scui, sluo, virt-maint |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm-1.5.3-76.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-03-05 08:05:03 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: | |||
Bug Depends On: | |||
Bug Blocks: | 1103193, 1146483, 1146486 |
Description
ShupingCui
2014-03-13 02:17:35 UTC
upstream commit 463c534db516701ac732ac606c33c7101cf22e56 Please retest with this test build: http://people.redhat.com/ghoffman/bz1103193/ (In reply to Gerd Hoffmann from comment #7) > Please retest with this test build: > http://people.redhat.com/ghoffman/bz1103193/ Retest with this build, case passed and not core dump found. # uname -r 3.10.0-123.el7.x86_64 # rpm -qa | grep qemu-kvm qemu-kvm-common-1.5.3-65.el7.bz1103193.2.x86_64 qemu-kvm-1.5.3-65.el7.bz1103193.2.x86_64 qemu-kvm-tools-1.5.3-65.el7.bz1103193.2.x86_64 Thanks, Shuping Fix included in qemu-kvm-1.5.3-76.el7 Fix included in qemu-kvm-1.5.3-76.el7 Fix included in qemu-kvm-1.5.3-76.el7 Reproduce this bug with qemu-kvm-1.5.3-75.el7.x86_64 Steps: 1.Boot guest: /usr/libexec/qemu-kvm -cpu SandyBridge -enable-kvm -m 4G -smp 4,sockets=1,cores=4,threads=1 -name test -rtc base=localtime,clock=host,driftfix=slew -k en-us -boot menu=on -spice disable-ticketing,port=5901 -vga qxl -usb -device usb-tablet -monitor stdio -drive file=/home/rhel7u1/rhel7u1cp1.qcow2,if=none,id=drive-system-disk,media=disk,format=qcow2,aio=native,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-system-disk,id=system-disk,addr=0x3 -qmp unix:/tmp/q1,server,nowait -netdev tap,id=hostnet0,vhost=on,queues=4,script=/etc/qemu-ifup -device virtio-net-pci,mq=on,vectors=10,netdev=hostnet0,id=vnet0,mac=52:54:00:1a:2b:02 -serial unix:/tmp/s2,server,nowait -device ich9-usb-uhci1,id=usb1 -device nec-usb-xhci,id=usbtest -device usb-hub,id=usb-hub1,bus=usbtest.0,port=1 -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 2.Hotplug and hotunplug usb3.0 device repeatedly: Result, when repeated the 5th time, qemu crashed: (gdb) bt #0 type_is_ancestor (type=0xbfd66348f685e063, target_type=0x5555564ee5f0) at qom/object.c:189 #1 0x0000555555716c8b in object_class_dynamic_cast (class=class@entry=0x7ffff300cf28 <main_arena+1992>, typename=typename@entry=0x55555587af49 "usb-device") at qom/object.c:514 #2 0x0000555555716da5 in object_class_dynamic_cast_assert (class=0x7ffff300cf28 <main_arena+1992>, typename=typename@entry=0x55555587af49 "usb-device", file=file@entry=0x55555587af29 "hw/usb/bus.c", line=line@entry=203, func=func@entry=0x55555587b410 <__func__.27251> "usb_device_ep_stopped") at qom/object.c:546 #3 0x00005555556b63a3 in usb_device_ep_stopped (dev=0x555557382000, ep=0x555557383130) at hw/usb/bus.c:203 #4 0x00005555556c5e98 in xhci_ep_nuke_xfers (xhci=xhci@entry=0x7fffda338010, slotid=slotid@entry=2, epid=<optimized out>) at hw/usb/hcd-xhci.c:1338 #5 0x00005555556c9b89 in xhci_stop_ep (epid=<optimized out>, slotid=2, xhci=0x7fffda338010) at hw/usb/hcd-xhci.c:1398 #6 xhci_process_commands (xhci=0x7fffda338010) at hw/usb/hcd-xhci.c:2573 #7 0x0000555555795ea3 in access_with_adjusted_size (addr=addr@entry=0, value=value@entry=0x7fffe8823a80, size=size@entry=4, access_size_min=<optimized out>, access_size_max=<optimized out>, access=access@entry=0x5555557963c0 <memory_region_write_accessor>, opaque=opaque@entry=0x7fffda338a30) at /usr/src/debug/qemu-1.5.3/memory.c:365 #8 0x000055555579a3eb in memory_region_dispatch_write (size=4, data=0, addr=0, mr=0x7fffda338a30) at /usr/src/debug/qemu-1.5.3/memory.c:917 #9 io_mem_write (mr=0x7fffda338a30, addr=0, val=<optimized out>, size=4) at /usr/src/debug/qemu-1.5.3/memory.c:1597 #10 0x0000555555795ea3 in access_with_adjusted_size (addr=addr@entry=0, value=value@entry=0x7fffe8823b20, size=size@entry=4, access_size_min=<optimized out>, access_size_max=<optimized out>, access=access@entry=0x5555557963c0 <memory_region_write_accessor>, opaque=opaque@entry=0x7fffdc002010) at /usr/src/debug/qemu-1.5.3/memory.c:365 #11 0x000055555579a3eb in memory_region_dispatch_write (size=4, data=0, addr=0, mr=0x7fffdc002010) at /usr/src/debug/qemu-1.5.3/memory.c:917 #12 io_mem_write (mr=0x7fffdc002010, addr=0, val=<optimized out>, size=size@entry=4) at /usr/src/debug/qemu-1.5.3/memory.c:1597 #13 0x00005555557513ed in address_space_rw (as=as@entry=0x55555646dbe0 <address_space_memory>, addr=4228194304, buf=buf@entry=0x7ffff7feb028 "", len=4, is_write=true) at /usr/src/debug/qemu-1.5.3/exec.c:1987 #14 0x000055555575145d in cpu_physical_memory_rw (addr=<optimized out>, buf=buf@entry=0x7ffff7feb028 "", len=<optimized out>, is_write=<optimized out>) at /usr/src/debug/qemu-1.5.3/exec.c:2069 #15 0x0000555555794e85 in kvm_cpu_exec (env=env@entry=0x555556710b40) at /usr/src/debug/qemu-1.5.3/kvm-all.c:1678 #16 0x0000555555748fc5 in qemu_kvm_cpu_thread_fn (arg=0x555556710b40) at /usr/src/debug/qemu-1.5.3/cpus.c:793 #17 0x00007ffff5604df3 in start_thread () from /lib64/libpthread.so.0 #18 0x00007ffff2d4805d in clone () from /lib64/libc.so.6 So this bug is reproduced: Verify this bug with qemu-kvm-1.5.3-77.el7.x86_64 Steps as above Result, hotplug and unplug for long time(more than 100 times), no crash and guest works well, from dmesg, only the plug and unplug infos: ... [ 144.372861] usb 3-1.3: USB disconnect, device number 23 [ 144.670111] usb 3-1.4: new full-speed USB device number 24 using xhci_hcd [ 144.743809] usb 3-1.4: New USB device found, idVendor=0627, idProduct=0001 [ 144.743813] usb 3-1.4: New USB device strings: Mfr=1, Product=4, SerialNumber=5 [ 144.743815] usb 3-1.4: Product: QEMU USB Keyboard [ 144.743817] usb 3-1.4: Manufacturer: QEMU [ 144.743819] usb 3-1.4: SerialNumber: 42 [ 144.744027] usb 3-1.4: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes [ 144.745053] input: QEMU QEMU USB Keyboard as /devices/pci0000:00/0000:00:06.0/usb3/3-1/3-1.4/3-1.4:1.0/input/input27 [ 144.745316] hid-generic 0003:0627:0001.0018: input,hidraw2: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-0000:00:06.0-1.4/input0 ... So this bug is fixed by qemu-kvm-1.5.3-77.el7.x86_64 Verify with qemu-kvm-rhev-2.1.2-5.el7.x86_64 Same steps and results as qemu-kvm-1.5.3-77.el7.x86_64, so this bug is fixed by both qemu-kvm and qemu-kvm-rhev latest builds. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0349.html |