Bug 953812

Summary: [virtio-win][serial]Termial Which used to send data in the guest can not be closed and it blocks shutdown guest
Product: Red Hat Enterprise Linux 6 Reporter: Mike Cao <bcao>
Component: virtio-winAssignee: Gal Hammer <ghammer>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.5CC: acathrow, bcao, bsarathy, lnovich, michen, qzhang, rhod, vrozenfe
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-22 00:10:00 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
Screenshot
none
NMICrashDump none

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


Version-Release number of selected component (if applicable):
2.6.32-362.el6.x86_64
package qemu-kvm is not installed
qemu-kvm-rhev-0.12.1.2-2.358.el6_4.bz949135.v2.x86_64
seabios-0.6.1.2-26.el6.x86_64
sgabios-0-0.3.20110621svn.el6.x86_64
spice-server-0.12.0-12.el6.x86_64


How reproducible:
1/1

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-6.4.0.4.el6,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
:start
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]
Screenshot

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

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
:start
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.

http://rhn.redhat.com/errata/RHBA-2013-1729.html