Bug 767499

Summary: windows 2k8 hit BSOD while booting guest with usb device [tracing win2k8 and win7]
Product: Red Hat Enterprise Linux 6 Reporter: Min Deng <mdeng>
Component: qemu-kvmAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.3CC: acathrow, amit.shah, bcao, bsarathy, chayang, flang, juzhang, kraxel, michen, minovotn, mkenneth, qzhang, qzhou, rhod, sluo, syeghiay, tburke, virt-maint, vrozenfe
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.213.el6 Doc Type: Bug Fix
Doc Text:
No Documentation Needed
Story Points: ---
Clone Of:
: 772562 (view as bug list) Environment:
Last Closed: 2012-06-20 11:37:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 772562    

Description Min Deng 2011-12-14 08:37:55 UTC
Description of problem:
The windows guest hit BSOD with usb device,the guest cannot boot up at all and it was always rebooting again and again.

Version-Release number of selected component (if applicable):
seabios-0.6.1.2-8.el6.x86_64
qemu-kvm-0.12.1.2-2.210.el6.x86_64
How reproducible:
always
Steps to Reproduce:
1.boot guest with this CLI
  /usr/libexec/qemu-kvm -m 4G -smp 2 -cpu cpu64-rhel6,+x2apic -drive file=win2k3-32-1122.raw,format=raw,if=none,id=drive-virtio-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-virtio-0-0,id=virtio-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0 -uuid c2c0d436-a70b-4e5d-8df3-89ae75170c66 -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -name win2008-32 -spice port=5931,disable-ticketing -vga qxl -usb -device usb-tablet -device virtio-serial-pci,id=virtio-serial0,max_ports=16 -chardev socket,id=channel0,server,nowait,path=/tmp/tty1 -device virtserialport,chardev=channel0,name=com.redhat.rhevm.vdsm1,bus=virtio-serial0.0 -chardev socket,id=channel1,server,nowait,path=/tmp/tty2 -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm2,bus=virtio-serial0.0 -device virtio-balloon-pci,id=balloon1 -device usb-hub,bus=usb.0,port=2,id=hub -device usb-kbd,port=2.3 
 
2 press "ctrl+alt+delete" in order to log in guest

Actual results:
The guest can boot up successfully.
Expected results:
The guest was rebooting again and again because hitting BSOD except for quit.
Please also make sure the command with these options "-usb -device usb-tablet -device usb-hub,bus=usb.0,port=2,id=hub -device usb-kbd,port=2.3".BTW,after removing "-device usb-hub,bus=usb.0,port=2,id=hub -device usb-kbd,port=2.3" guest works well.

Additional info:
During guest rebooting,the error messages were 
reds_show_new_channel: channel 3:0, connected successfully, over Non Secure link
inputs_link: 
virtio_ioport_write: unexpected address 0x13 value 0x1
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full

(qemu) virtio_ioport_write: unexpected address 0x13 value 0x1
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full
usb-kbd: warning: key event queue full

  Besides,there was a similar bug on rhel6 but it had been already fixed(733028).So I opened a new bug to trace the issue for windows guests.The issue can be reproduced on windows 2k3 and windows 2k8.

Comment 3 Gerd Hoffmann 2011-12-15 09:58:53 UTC
Sort-of reproduces with windows 7.  It doesn't BSOD, but the keyboard is non-functional and I see the "usb-kbd: warning: key event queue full" messages too.  Removing the hub and linking up the keyboard directly (port=2) fixes it for me, which indicates this is most likely an issue with the usb hub emulation, not with the keyboard.

Can you confirm this with w2k3 / w2k8?

Comment 6 Min Deng 2011-12-21 03:34:03 UTC
(In reply to comment #3)
> Sort-of reproduces with windows 7.  It doesn't BSOD, but the keyboard is
> non-functional and I see the "usb-kbd: warning: key event queue full" messages
> too.  Removing the hub and linking up the keyboard directly (port=2) fixes it
> for me, which indicates this is most likely an issue with the usb hub
> emulation, not with the keyboard.
> 
> Can you confirm this with w2k3 / w2k8?

Hi Gerd,

   According to you,removing hub and linking up the keyboard directly (port=2),I cannot see the BSOD and "ctrl+alt+del" works for me at this time.

Thanks,
Min

Comment 8 Min Deng 2012-01-04 03:24:46 UTC
re-test on 
qemu-kvm-debuginfo-0.12.1.2-2.213.el6.x86_64
qemu-kvm-tools-0.12.1.2-2.213.el6.x86_64
qemu-kvm-0.12.1.2-2.213.el6.x86_64

OS,win2k3 and win2k8
1.CLI 
  /usr/libexec/qemu-kvm -m 4G -smp 2 -cpu cpu64-rhel6,+x2apic -drive file=win7-64-1226.raw,format=raw,if=none,id=drive-virtio-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-virtio-0-0,id=virtio-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0 -uuid `uuidgen` -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -name win2008-32 -spice port=5931,disable-ticketing -vga qxl -usb -device usb-tablet -device virtio-serial-pci,id=virtio-serial0,max_ports=16 -chardev socket,id=channel0,server,nowait,path=/tmp/tty1 -device virtserialport,chardev=channel0,name=com.redhat.rhevm.vdsm1,bus=virtio-serial0.0 -chardev socket,id=channel1,server,nowait,path=/tmp/tty2 -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm2,bus=virtio-serial0.0 -device virtio-balloon-pci,id=balloon1 -device usb-hub,bus=usb.0,port=2,id=hub -device usb-kbd,port=2.3

2.CLI -According to comment 3,
 /usr/libexec/qemu-kvm -m 4G -smp 2 -cpu cpu64-rhel6,+x2apic -drive file=win2k8-R2-1229.raw,format=raw,if=none,id=drive-virtio-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-virtio-0-0,id=virtio-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0 -uuid `uuidgen` -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -name win2008-32 -spice port=5931,disable-ticketing -vga qxl -usb -device usb-tablet -device virtio-serial-pci,id=virtio-serial0,max_ports=16 -chardev socket,id=channel0,server,nowait,path=/tmp/tty1 -device virtserialport,chardev=channel0,name=com.redhat.rhevm.vdsm1,bus=virtio-serial0.0 -chardev socket,id=channel1,server,nowait,path=/tmp/tty2 -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm2,bus=virtio-serial0.0 -device virtio-balloon-pci,id=balloon1 -device usb-kbd,port=2

For 1.CLI
windows 2k3 hit BSOD and "usb-kbd: warning: key event queue full
" error message after press "clt+alt+del" 
window 2k8 hit "usb-kbd: warning: key event queue full
" error message after press "clt+alt+del"
For 2.CLI 
Both windows 2k3 and windows 2k8 works well while pressing "clt+alt+del" via keyboard.

  Assigned it because the issue still existed while adding "usb-hub"(refer to comment 3),if developer need one more bug for usb-hub only QE can do this.Thank you very much.

Best regards,
Min

Comment 13 Min Deng 2012-01-06 08:12:32 UTC
(In reply to comment #12)
> Hmm, not that simple.  It seems there are multiple issues involved.
> 
> One was the usb hub bug, affecting all windows versions, fixed in
> qemu-kvm-0.12.1.2-2.213.el6.x86_64.
> 
> Another is win2k3 not working with the usb keyboard.  Happens to me 100%,
> although it doesn't BSOD each time.  Whenever the keyboard is connected via hub
> or not doesn't make a difference here.
> 
> Expected behavoir:
> 
> windows       | qemu-kvm | connect via hub | state
> --------------+----------+-----------------+----------
> win2k3        | any      | doesn't matter  | broken       
  Yes,win2k3 always failed in this scenarios.(210,213)
> win2k8, win7  | any      | no              | working
  yes,but only try it on 213
> win2k8, win7  | <= 212   | yes             | broken 
  Yes
> win2k8, win7  | >= 213   | yes             | working  
  Yes,try it on 213,it wasn't 100% reproducible      
  
  If so,may I open a bug against win2k3 only for this issue ? Thanks.
> 
> Can you confirm this?

Comment 14 Gerd Hoffmann 2012-01-06 16:18:18 UTC
Yes, tracking the win2k3 keyboard bug separately is a good idea.

Comment 15 Gerd Hoffmann 2012-01-10 11:27:21 UTC
Bug 772562 tracks w2k3 separately now.
So this one can go back to QA, correct?

Comment 19 Min Deng 2012-01-16 07:13:44 UTC
Hi all,
  QE re-test the bug on qemu-kvm-0.12.1.2-2.217.el6.x86_64 and can't reproduce the issue with the two CLIs which were mentioned in comment 8 on windows 2008 64/32/R2 and windows 7 32/64 platform.Furthermore,there is another bug(772562)for tracing windows 2003 special issue,so the original issue have been fixed on windows 7 and windows 2008 platform.
  Thanks for developer's effort.

Best Regards,
Min

Comment 22 Sibiao Luo 2012-01-31 02:56:10 UTC
Reproduce the issue with the two CLIs mentioned in comment #8 on windows 2008_64/32/R2 and windows 7_32/64 platform and the environment as follows:  
qemu-kvm-0.12.1.2-2.209.el6_2.2.x86_64 
seabios-0.6.1.2-8.el6.x86_64
Actual Result:
windows 2008_64/32/R2 and windows 7_32/64 hit "usb-kbd: warning: key event queue full" error message after press "clt+alt+del" with the "1.CLI" mentioned in comment #8.
windows 2008_64/32/R2 and windows 7_32/64 works well while pressing "clt+alt+del" via keyboard with the "2.CLI" mentioned in comment #8.

Verified this issue with the two CLIs mentioned in comment #8 on windows 2008_64/32/R2 and windows 7_32/64 platform and the environment as follows:  
qemu-kvm-0.12.1.2-2.221.el6.x86_64
seabios-0.6.1.2-8.el6.x86_64
Actual Result:
windows 2008_64/32/R2 and windows 7_32/64 works well with the two CLIs mentioned in comment #8.

Above all,This issue have been fixed on windows 7 and windows 2008 platform.

Comment 24 Gerd Hoffmann 2012-02-20 08:11:43 UTC
*** Bug 754025 has been marked as a duplicate of this bug. ***

Comment 25 Michal Novotny 2012-05-04 09:27:31 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No Documentation Needed

Comment 26 errata-xmlrpc 2012-06-20 11:37:40 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-2012-0746.html