Bug 953812 - [virtio-win][serial]Termial Which used to send data in the guest can not be closed and it blocks shutdown guest
Summary: [virtio-win][serial]Termial Which used to send data in the guest can not be c...
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virtio-win
Version: 6.5
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Gal Hammer
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2013-04-19 08:49 UTC by Mike Cao
Modified: 2013-12-06 07:45 UTC (History)
8 users (show)

Fixed In Version: virtio-win-prewhql-0.1-62
Doc Type: Bug Fix
Doc Text:
Cause: Shutdown guest while data transfer from guest to host over virtio-serial port is still in progress. Consequence: Shutdown will be blocked can not be accomplished. Fix: In virtio-serial write request cancelation logic. Result: With the fix mentioned above, guest can be shutdown successfully even if the data transfer from guest to host is still in progress.
Clone Of:
Last Closed: 2013-11-22 00:10:00 UTC
Target Upstream Version:

Attachments (Terms of Use)
Screenshot (293.25 KB, image/png)
2013-04-19 08:51 UTC, Mike Cao
no flags Details
NMICrashDump (18.22 MB, application/x-zip-compressed)
2013-04-19 09:33 UTC, Mike Cao
no flags Details

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1729 normal SHIPPED_LIVE virtio-win bug fix and enhancement update 2013-11-21 00:39:25 UTC

Description Mike Cao 2013-04-19 08:49:38 UTC
Description of problem:

Version-Release number of selected component (if applicable):
package qemu-kvm is not installed

How reproducible:

Steps to Reproduce:
1.Start VM with virtio-serial 
CLI:/usr/libexec/qemu-kvm -name mike-6 -S -M rhel6.3.0 -cpu Nehalem -enable-kvm -m 1024 -smp 2,sockets=2,cores=1,threads=1 -uuid 9312ebe0-0e21-41ea-9cbb-5e43277610d2 -smbios type=1,manufacturer=Red Hat,product=RHEV Hypervisor,version=6Server-,serial=5A4D4A6D-896D-DA4D-67A8-4E062C1B4E32_44:37:E6:5E:91:A8,uuid=9312ebe0-0e21-41ea-9cbb-5e43277610d2 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/mike-6.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2013-04-18T09:03:36,driftfix=slew -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,serial= -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/rhev/data-center/c70edd5c-fb42-4311-880a-663bfdd162b8/b3e1976c-a5e6-433b-a9eb-116f902ee1cd/images/18fd72db-3f8f-4fdc-b27c-5bc08aa97201/1ed3043c-ae9c-456e-bc56-d700b4e1c742,if=none,id=drive-virtio-disk0,format=qcow2,serial=18fd72db-3f8f-4fdc-b27c-5bc08aa97201,cache=none,werror=stop,rerror=stop,aio=threads -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=26,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:1a:4a:42:0a:d3,bus=pci.0,addr=0x3 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channels/mike-6.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev socket,id=charchannel1,path=/var/lib/libvirt/qemu/channels/mike-6.org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel2,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,id=channel2,name=com.redhat.spice.0 -spice port=5900,tls-port=5902,addr=0,x509-dir=/etc/pki/vdsm/libvirt-spice,tls-channel=main,tls-channel=display,tls-channel=inputs,tls-channel=cursor,tls-channel=playback,tls-channel=record,tls-channel=smartcard,tls-channel=usbredir,seamless-migration=on -k en-us -vga qxl -global qxl-vga.vram_size=67108864 -device AC97,id=sound0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7
2.nc -U /var/lib/libvirt/qemu/channels/mike-6.com.redhat.rhevm.vdsm on the host 
3.Transferring data from guest to host 
cat 1.bat
copy 1.txt \\.\Global\.\com.redhat.rhevm.vdsm
4.After 2 hours ,terminate nc process 
5.Waiting for 24 hours
Actual results:
The Terminal which used to send data via virserial in the guest can not be closed ,and guest fails to shutdown ,referring to screenshot

Expected results:

Additional info:

Comment 1 Mike Cao 2013-04-19 08:51:32 UTC
Created attachment 737547 [details]

Comment 3 Mike Cao 2013-04-19 09:33:58 UTC
Created attachment 737553 [details]

Comment 4 Mike Cao 2013-04-19 09:50:54 UTC
Another way to reproduce it :

1.Start winxp Guest in RHEVM
2.install virtio-win-prewhql-59 in the guest 
3.stop RHEV-Agent Service in the guset 
4.ransferring data from guest to host 
cat 1.bat
copy 1.txt \\.\Global\.\com.redhat.rhevm.vdsm
5. After 10 mins ,stop vdsmd service on the host

Comment 8 Mike Cao 2013-06-07 03:12:18 UTC
Re-Test this issue on virito-win-prwehql-62 & virtio-win-prewhql-59

Steps same as comment #0

Actual Results:
Guest could shutdown sccessfully ,Can not reproduce the original issue both on build 59 & build 62

Move this bug to VERIFIED as the original issue has gone ,reopen it if QE hit this issue again

Comment 15 errata-xmlrpc 2013-11-22 00:10:00 UTC
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.


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