Bug 814896 - [virtio-win][serial] virtio-serial does not work after s4 in win7-32/64 bit guests
[virtio-win][serial] virtio-serial does not work after s4 in win7-32/64 bit g...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virtio-win (Show other bugs)
6.3
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Yan Vugenfirer
Virtualization Bugs
:
Depends On:
Blocks: 720669 761491
  Show dependency treegraph
 
Reported: 2012-04-20 23:58 EDT by langfang
Modified: 2013-02-21 05:38 EST (History)
14 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
It was a bug in the vioserial in the power management routine, when virtio queue was not properly reinitialized during resume. As the result, a port was dis-functional and was not able to handle read and write requests properly. The problem was fixed by adding proper virtual queue re-initialization on resume from hibernation.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-21 05:38:31 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
the script run on host (1.88 KB, application/octet-stream)
2012-04-20 23:58 EDT, langfang
no flags Details
script run on guest (3.37 KB, application/octet-stream)
2012-04-21 00:00 EDT, langfang
no flags Details
after resume S4,the error info about run guest script (1.93 KB, text/plain)
2012-04-21 00:01 EDT, langfang
no flags Details

  None (edit)
Description langfang 2012-04-20 23:58:25 EDT
Created attachment 579146 [details]
the script run on host

Description of problem:

after resume from win7-32 guest S4  the virtio- serial driver can not use anymore

Version-Release number of selected component (if applicable):
#uname -r
2.6.32-262.el6.x86_64
#rpm -qa |grep qemu-kvm
 qemu-kvm-0.12.1.2-2.277.el6.x86_64
guest :windows7-32
gruest virtio serial driver:

http://download.devel.redhat.com/brewroot/packages/virtio-win-
prewhql/0.1/26/win/virtio-win-prewhql-0.1.zip

How reproducible:

100%

Steps to Reproduce:
1.boot guest with virtio-serial device
/usr/libexec/qemu-kvm -M rhel6.3.0 -cpu Conroe -enable-kvm -m 2G -smp 2,sockets=1,cores=2,threads=1 -name rhel6.3 -uuid bc898f4c-93e8-48d7-b1f6-05eb4c611129 -rtc base=localtime,driftfix=slew -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:12:19:62,bus=pci.0,addr=0x3 -boot c -spice port=5930,disable-ticketing -vga qxl -global qxl-vga.vram_size=33554432 -qmp tcp:0:4444,server,nowait -drive file=/home/win7-32,format=qcow2,if=none,id=drive-virtio-disk0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,drive=drive-virtio-disk0,id=ide0-0-0,bootindex=1 -usb -device usb-tablet,id=input0 -monitor stdio -device virtio-balloon-pci,id=balloon0,bus=pci.0 -bios /usr/share/seabios/bios-pm.bin -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0 -chardev socket,id=channel0,host=127.0.0.1,port=12345,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=channel0,name=com.redhat.rhevm.vdsm,id=port1
2.trasfer data from guest to host
on host
#python serial-host-side.py
on guest
python VirtIoChannel.py

3.S4 on win7 guest
start-->Hibernate
  
Actual results:
after resume from S4,the guest can not transfer data
when run python VirtIoChannel.py,the error see attachment
but when disable and then enable driver ,the virtio driver is ok,can transfer data again.

Expected results:

after resume guest S4,the virtio-serial driver is ok.
Additional info:
the script see attachment
Comment 1 langfang 2012-04-21 00:00:28 EDT
Created attachment 579147 [details]
script run on guest
Comment 2 langfang 2012-04-21 00:01:59 EDT
Created attachment 579148 [details]
after resume S4,the error info about run guest script
Comment 4 Mike Cao 2012-04-23 03:39:52 EDT
Hi, langfang 

Could you reproduce this bug w/ vioser-test.exe (the tools is under the
directory which you installed the virtio serial driver)

Mike
Comment 5 langfang 2012-04-25 02:34:53 EDT
(In reply to comment #4)
> Hi, langfang 
> 
> Could you reproduce this bug w/ vioser-test.exe (the tools is under the
> directory which you installed the virtio serial driver)
> 
> Mike

i tried ,also have same problem,after guest S4,can not transfer data use virtio-serial driver.
Comment 8 Ronen Hod 2012-05-08 04:30:29 EDT
Too late for RHEL6.3. Postpone to 6.4.
Anyhow an S4 bug
Comment 11 Ronen Hod 2012-07-10 05:53:41 EDT
In work, test again in 2-3 weeks.
Comment 12 Mike Cao 2012-07-16 23:31:45 EDT
langfang ,

pls pls check whether this issue still occurs in virtio-win-prewhql30 
(for 32 bit guest pls) use driver in \\install\Wxp\x86 , 64 bit guests use driver located in \\install\Wnet\amd64 ).
Comment 13 langfang 2012-07-17 06:21:04 EDT
(In reply to comment #12)
> langfang ,
> 
> pls pls check whether this issue still occurs in virtio-win-prewhql30 
> (for 32 bit guest pls) use driver in \\install\Wxp\x86 , 64 bit guests use
> driver located in \\install\Wnet\amd64 ).

hi!Mike


i test this bug on the following version:
host:
# uname -r
2.6.32-284.el6.x86_64
# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.295.el6.x86_64

virtio-win:virtio-win-prewhql30
 
guest:win7-32/win7-64

results:
also have the same problem.

addinfo: the steps are the same as reproduce.
Comment 16 dawu 2012-10-14 04:53:17 EDT
Reproduce this bug on build virtio-win-prewhql-26, Verified this bug on build virtio-win-prewhql-41 with the same steps in comment0

CLI: /usr/libexec/qemu-kvm -cpu host -m 2G -smp 2 -boot dc -drive file=win7-32.qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none,format=qcow2,media=disk -device ide-drive,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=en_windows_7_ultimate_with_sp1_x86_dvd_619077.iso,if=none,id=drive-ide0-0-1,werror=stop,rerror=stop,cache=none,format=raw,media=cdrom -device ide-drive,drive=drive-ide0-0-1,id=ide0-0-1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup0 -device e1000,netdev=hostnet0,mac=00:22:5a:13:78:06,bus=pci.0,addr=0x4,id=net0 -uuid b2b6f616-0b80-4b41-af4e-985737e9ffbf -spice disable-ticketing,port=5931 -vga qxl -rtc base=localtime,clock=host,driftfix=slew -bios /usr/share/seabios/bios-pm.bin -monitor stdio -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=4,bus=pci.0 -chardev socket,server,host=0.0.0.0,port=12345,id=channel0,nowait -device virtserialport,chardev=channel0,nr=1,id=serialport.1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0

Actually Results:

On version virtio-win-prewhql-26, issue reproduced.
On version virtio-win-prewhql-41, data can transfer successfully without any error after S4

additional info: this issue also been verified with vioser-test.exe, got the same results.

Based on above, this issue has been fixed.

Thanks for developer's efforts!
Best Regards,
Dawn
Comment 17 Mike Cao 2012-10-14 23:19:15 EDT
Based on comment #16 ,move status to verified .

Since this bug has been fixed already ,move product flag to rhel6.4.0
Comment 18 errata-xmlrpc 2013-02-21 05:38:31 EST
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-0441.html

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