Bug 1783880

Summary: [virtio-win][vioser] can't transfer data between host and guest via virtio-serial port in i386 guest
Product: Red Hat Enterprise Linux 8 Reporter: xiagao
Component: virtio-winAssignee: ybendito
virtio-win sub component: virtio-win-prewhql QA Contact: xiagao
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: lijin, lmiksik, ybendito, yvugenfi
Version: 8.1Keywords: Regression
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virtio-win-prewhql-0.1-175 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:05:16 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:

Description xiagao 2019-12-16 07:35:58 UTC
Description of problem:
Boot up guest with vitio-serial device and install the latest virtio serial driver(174),try to transfer date between host and guest,but failed.
Downgrade driver to 173 version,it success.

Version-Release number of selected component (if applicable):
kernel-4.18.0-147.0.3.el8_1.x86_64
qemu-kvm-4.1.0-19.module+el8.1.1+5172+e3ff58a1.x86_64
virtio-win-prewhql-174

How reproducible:
100%

Steps to Reproduce:
1.boot up guest with virtio-serial device
-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x3 \
-device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x3.0x6 \

-device virtio-serial-pci,id=virtio-serial1,max_ports=31,bus=pci.7  \
-chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait  -device virtserialport,bus=virtio-serial1.0,chardev=channel2,name=com.redhat.rhevm.vdsm2 \

2.install vioser driver

3.transfer data
host -> guest:
Guest: python VirtIOChannel_guest_reieve.py com.redhat.rhevm.vdsm2
Host: python3 serial-host-send.py /tmp/helloworld2

guest -> host:
Guest: python VirtIOChannel_guest_send.py com.redhat.rhevm.vdsm2
Host: python3 serial-host-receive.py /tmp/helloworld2

Actual results:
After step3,hit error in guest.

2019-12-13 16:31:42: pywintypes.error: (2, 'CreateFile', 'The system cannot find the file specified.')
2019-12-13 16:31:42: Exception AttributeError: "'WinBufferedReadFile' object has no attribute '_read_ovrlpd'" in <bound method WinBufferedReadFile.__del__ of <windows_support.WinBufferedReadFile object at 0x0161D730>> ignored

Expected results:
virtio-serial works well.

Additional info:
downgrade driver to 173,didn't hit this issue.

Comment 1 xiagao 2019-12-16 07:37:26 UTC
guest: Win10-32,Win8-32,Win7-32

Win2019,Win10-64,win8-64,win2016,win2012 didn't hit this issue with 174 version.

Comment 4 ybendito 2019-12-19 07:31:12 UTC
Fixed in virtio-win-prewhql-0.1-175

Comment 5 xiagao 2019-12-20 01:42:23 UTC
Verify this bug with virtio-win-prewhql-0.1-175.
virtio-serial works now.

Comment 11 errata-xmlrpc 2020-04-28 16:05:16 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.

https://access.redhat.com/errata/RHEA-2020:1757

Comment 12 ybendito 2020-05-01 03:16:36 UTC
In my opinion, no special documentation required as the build with the bug was never released.
The problem exists only in intermediate build