Bug 858697

Summary: virtio_serialports are sometimes missing in Windows XP guest
Product: [Fedora] Fedora Reporter: Lukas Doktor <ldoktor>
Component: qemuAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: amit.shah, berrange, cfergeau, dwmw2, itamar, knoel, pbonzini, rjones, scottt.tw, virt-maint, vrozenfe
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-25 06:00:34 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Lukas Doktor 2012-09-19 08:49:54 EDT
Description of problem:
Sometimes when I boot the Windows XP guest some or all of virtio_serialports are missing in \\.\ and \\Device\. Guest reboot usually helps or leads to different missing ports.

Version-Release number of selected component (if applicable):
   Windows XP SP3

   Fedora 17,
   kernel 3.5.3-1.fc17.x86_64

How reproducible:
Very often. In over 60% cases some of the ports are missing and over 30% none of the ports is initialized. Some of the ports also disappear after the reboot.

Steps to Reproduce:
1. boot Windows XP guest with virtio_serialport
2. look for \\.\$symbolic_link or \\.\\{6FDE7547-1B65-48ae-B628-80BE62016026}#VIOSerialPort#.. or \\Device\vport* device ex. using WinObj.
Actual results:
Some or none of virtio_ports is present. CreateFile() with expected name fails.

Expected results:
All of virtio_ports should have GUID, vport and symbolic names and should be prepared for use.
Comment 1 Lukas Doktor 2012-09-19 08:51:04 EDT
I used this command to run guest with 4 virtio_serialports:

/usr/bin/qemu-kvm -S -name vm1 -nodefaults -chardev
Y, se rve r,nowait -mon chardev=hmp_id_hmp1,mode=readline -chardev
913 -0 925 00-jOJB65NY,server,nowait -device
isa-serial,chardev=serial_id_20120913-092500-jOJB65NY -device
virtio-serial-pci,id=virtio_serial_pci0 -chardev
se rv er, nowait -device
_s er ial _pci0.0 -chardev
se rv er, nowait -device
_s er ial _pci0.0 -chardev
01 20 913 -092500-jOJB65NY,server,nowait -device
x4 02 -device ich9-usb-uhci1,id=usb1 -drive
he =n one -device
-netdev tap,id=id8yGdBy,fd=19 -m 512 -smp
1,cores=1,threads=1,sockets=1 -cpu Penryn -drive
de x= 1 -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 -vnc :0
-vga std -rtc base=localtime,clock=host,driftfix=none -boot
order=cdn,once=c,menu=off -enable-kvm
Comment 2 Lukas Doktor 2012-09-24 05:58:37 EDT
This problem disappeared in newer version http://download.devel.redhat.com/brewroot/packages/virtio-win-prewhql/0.1/37/win/virtio-win-prewhql-0.1.zip
Comment 3 Lukas Doktor 2012-09-24 09:59:08 EDT
I tried max_serialport and max_serials_and_conosles boot tests and it works perfectly (30 serialports in the first test and 15+15 consoles and serialports in the second test).
Comment 4 Lukas Doktor 2012-09-25 06:00:34 EDT
This problem disappeared in newer version http://download.devel.redhat.com/brewroot/packages/virtio-win-prewhql/0.1/37/win/virtio-win-prewhql-0.1.zip