Bug 759011

Summary: Core dumped when hot-unplug virtio-serial-pci while in use with windows guest
Product: Red Hat Enterprise Linux 6 Reporter: Mike Cao <bcao>
Component: virtio-winAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.3CC: acathrow, amit.shah, bcao, bsarathy, juzhang, michen, 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: 2011-12-02 05:57:00 UTC Type: ---
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
windows_support.py
none
VirtIoChannel.py none

Description Mike Cao 2011-12-01 08:55:00 UTC
Description of problem:


Version-Release number of selected component (if applicable):
# uname -r
2.6.32-220.el6.x86_64
[root@test mnt]# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.209.el6.x86_64
virtio-win-prewhql-0.1.19

How reproducible:
100%

Steps to Reproduce:
1.start *windows* guest with virtio-serial-pci and virtio-serial-port.
CLI:/usr/libexec/qemu-kvm -M rhel6.2.0 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -name 2k8_r2_prewhql_19 -uuid e051abc5-c1aa-1bc6-10ab-037881c036c5 -monitor stdio -rtc base=localtime,driftfix=slew -drive file=/home/backup/test/winxp_prewhql_19,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=f2:54:00:b5:df:19,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial -usb -device usb-tablet,id=input0 -spice port=5902,addr=0.0.0.0,disable-ticketing -vga qxl -global qxl-vga.vram_size=67108864 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -balloon none -device virtio-serial-pci,id=virtio-serial0,max_ports=16 -chardev socket,id=charchannel0,path=/tmp/tt1,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0
2.use script to transfer data from guest to guest (will attach the scripts)
for ((;;))
do
  python VirtioChannel.py 
3.remove virtio-serial-pci
(qemu)device_del virtio-serial0
  
Actual results:

Core was generated by `/usr/libexec/qemu-kvm -M rhel6.2.0 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x000000000040c5ce in main_loop_wait (timeout=1000) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4029
#2  0x000000000042aefa in kvm_main_loop () at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2225
#3  0x000000000040de85 in main_loop (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4234
#4  main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:6470


Additional info:
can not reproduce it with linux guest

Comment 1 Mike Cao 2011-12-01 08:57:01 UTC
Created attachment 539002 [details]
windows_support.py

Comment 2 Mike Cao 2011-12-01 08:57:48 UTC
Created attachment 539003 [details]
VirtIoChannel.py

Comment 3 Mike Cao 2011-12-01 08:59:12 UTC
(In reply to comment #0)

> 2.use script to transfer data from guest to guest (will attach the scripts)
> for ((;;))
> do
>   python VirtioChannel.py 

Before this ,should listen the virtio serial on the host
#nc -U /tmp/tt1

> 3.remove virtio-serial-pci
> (qemu)device_del virtio-serial0