Bug 894277 - Boot windows 8 guest BSoD after shutdown
Summary: Boot windows 8 guest BSoD after shutdown
Keywords:
Status: CLOSED DUPLICATE of bug 846912
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.4
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Yan Vugenfirer
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-11 09:48 UTC by mazhang
Modified: 2013-02-19 13:57 UTC (History)
18 users (show)

Fixed In Version:
Doc Type: Known Issue
Doc Text:
"Fast startup" used in Microsoft Windows 8 is not fully compatible with qemu-kvm in Red Hat Enterprise Linux 6. Windows 8 can therefore fail to boot the second time after its shutdown. To ensure successful boot of Windows 8 inside qemu-kvm, disable Windows 8 "fast startup" in System Settings.
Clone Of:
Environment:
Last Closed: 2013-02-19 13:57:42 UTC
Target Upstream Version:


Attachments (Terms of Use)
win8 dump file (193.20 KB, application/vnd.tcpdump.pcap)
2013-01-11 09:49 UTC, mazhang
no flags Details
win8 dump file(export with windbg) (880 bytes, application/octet-stream)
2013-01-11 09:51 UTC, mazhang
no flags Details
dump file (1.09 KB, text/plain)
2013-01-11 10:20 UTC, mazhang
no flags Details
attach minidump of win8-64 (1.61 KB, text/plain)
2013-01-11 12:06 UTC, mazhang
no flags Details
memory dump of win8-64 (1.90 KB, text/plain)
2013-01-11 12:07 UTC, mazhang
no flags Details

Description mazhang 2013-01-11 09:48:23 UTC
Description of problem:
win8 will BSOD with boot processing after shutdown with "shutdown" button.
Both win8-32bit and win8-64 

Version-Release number of selected component (if applicable):
kernel:2.6.32-352.el6.x86_64
qemu-kvm:qemu-kvm-0.12.1.2-2.349.el6.x86_64
guest: win8-32/64


How reproducible:
100%

Steps to Reproduce:
1.boot up win8 guest with follow command line:
#/usr/libexec/qemu-kvm -M rhel6.4.0 -cpu host -m 8G -smp 6,sockets=1,cores=2,threads=1,maxcpus=16 -enable-kvm -name win8-32 -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 -smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 -k en-us -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -qmp tcp:0:6666,server,nowait -boot menu=on -bios /usr/share/seabios/bios.bin -drive file=/home/win8-32-install.qcow2,if=none,id=drive-scsi-disk,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0,addr=0x5 -device scsi-disk,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,lun=0,id=scsi-disk,bootindex=1 -chardev socket,path=/tmp/isa-serial,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -vga qxl -spice port=5900,disable-ticketing -device virtio-balloon-pci,id=balloon1,bus=pci.0,addr=0x8  -netdev tap,id=hostnet0,downscript=no -device e1000,netdev=hostnet0,id=net0,mac=00:1d:45:0d:3a:fe,bus=pci.0,addr=0x7,bootindex=2 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -drive file=/root/images/storage0.qcow2,if=none,id=drive-scsi-disk1,format=qcow2,cache=none,werror=stop,rerror=stop -device scsi-disk,drive=drive-scsi-disk1,bus=scsi0.0,scsi-id=0,lun=1,id=scsi-disk1

2.press shutdown button
setting-->power-->shutdown

3.after shutdown complete, then boot guest with the same command line again
  
Actual results:
windows bsod then reboot

Expected results:
windows boot up normally

Additional info:
1 will attach dump file
2 Try with ide disk, system can boot up, but with low resolution, low performance and gray screen

Comment 1 mazhang 2013-01-11 09:49:46 UTC
Created attachment 676751 [details]
win8 dump file

Comment 2 mazhang 2013-01-11 09:51:32 UTC
Created attachment 676759 [details]
win8 dump file(export with windbg)

Comment 4 Andrew Jones 2013-01-11 10:02:33 UTC
(In reply to comment #2)
> Created attachment 676759 [details]
> win8 dump file(export with windbg)

Can you please run '!analyze -v' on the dmp from windbg and paste the output?

Comment 5 mazhang 2013-01-11 10:20:15 UTC
Created attachment 676778 [details]
dump file

Comment 6 mazhang 2013-01-11 10:28:57 UTC
also bsod with follow command line:

1 win8-32 guest
#/usr/libexec/qemu-kvm -M rhel6.4.0 -cpu SandyBridge,+sep -m 8G -smp 4,sockets=2,cores=2,threads=1,maxcpus=16 -enable-kvm -name win8-32 -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 -smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 -k en-us -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -qmp tcp:0:6666,server,nowait -boot menu=on -bios /usr/share/seabios/bios.bin -drive file=/home/win8-32-install.qcow2,if=none,id=drive-scsi-disk,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0,addr=0x5 -device scsi-hd,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,lun=0,id=scsi-disk,bootindex=1 -chardev socket,path=/tmp/isa-serial,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -vga qxl -spice port=5900,disable-ticketing -device virtio-balloon-pci,id=balloon1,bus=pci.0,addr=0x8  -netdev tap,id=hostnet0,downscript=no -device e1000,netdev=hostnet0,id=net0,mac=00:1d:45:0d:3a:fe,bus=pci.0,addr=0x7,bootindex=2 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -drive file=/root/images/storage0.qcow2,if=none,id=drive-scsi-disk1,format=qcow2,cache=none,werror=stop,rerror=stop -device scsi-hd,drive=drive-scsi-disk1,bus=scsi0.0,scsi-id=0,lun=1,id=scsi-disk1

2 win8-64 guest
#/usr/libexec/qemu-kvm -M rhel6.4.0 -cpu SandyBridge -m 8G -smp 4,sockets=2,cores=2,threads=1,maxcpus=16 -enable-kvm -name win8-64 -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 -smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 -k en-us -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -qmp tcp:0:6666,server,nowait -boot menu=on -bios /usr/share/seabios/bios.bin -drive file=/home/win8-64-install.qcow2,if=none,id=drive-scsi-disk,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0,addr=0x5 -device scsi-hd,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,lun=0,id=scsi-disk,bootindex=1 -chardev socket,path=/tmp/isa-serial,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -vga qxl -spice port=5900,disable-ticketing -device virtio-balloon-pci,id=balloon1,bus=pci.0,addr=0x8  -netdev tap,id=hostnet0,downscript=no -device e1000,netdev=hostnet0,id=net0,mac=00:1d:45:0d:3a:fc,bus=pci.0,addr=0x7,bootindex=2 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -drive file=/root/images/storage0.qcow2,if=none,id=drive-scsi-disk1,format=qcow2,cache=none,werror=stop,rerror=stop -device scsi-hd,drive=drive-scsi-disk1,bus=scsi0.0,scsi-id=0,lun=1,id=scsi-disk1

Comment 7 juzhang 2013-01-11 10:32:33 UTC
Set blocker flag since the win8 hits BSOD and win8 is supported guest on rhel6.4.

Comment 8 Andrew Jones 2013-01-11 10:56:20 UTC
(In reply to comment #5)
> Created attachment 676778 [details]
> dump file

Thanks. The symbol path wasn't setup, but we see that the bug check code is DRIVER_POWER_STATE_FAILURE, with subcode 3. From [1] we see that means

"A device object has been blocking an IRP for too long a time."

So maybe some I/O emulation is hanging in qemu? We should reproduce this while connected to qemu with gdb. After the BSOD we can can attempt to see what, if anything, qemu was attempting to do by looking at its backtrace. To do so, we need to make sure the guest is set to preserve on crash. Can you make the reproducing environment accessible for debug?

[1] http://msdn.microsoft.com/en-us/library/ff559329%28v=vs.85%29.aspx

Comment 9 mazhang 2013-01-11 11:50:34 UTC
Try connected to qemu with gdb, but after the BSOD, qemu will reboot ,did not quit, so I can't get backtrace.

I found if without "-global PIIX4_PM.disable_s4=0" it will boot up without BSOD.

Comment 10 mazhang 2013-01-11 12:06:36 UTC
Created attachment 676820 [details]
attach minidump of win8-64

Comment 11 mazhang 2013-01-11 12:07:33 UTC
Created attachment 676821 [details]
memory dump of win8-64

Comment 13 Andrew Jones 2013-01-14 10:28:49 UTC
(In reply to comment #9)
> Try connected to qemu with gdb, but after the BSOD, qemu will reboot ,did
> not quit, so I can't get backtrace.
> 

Did you configure the guest's on_crash to preserve? See http://libvirt.org/formatdomain.html#elementsEvents

Comment 14 mazhang 2013-01-14 11:09:05 UTC
(In reply to comment #13)
> (In reply to comment #9)
> > Try connected to qemu with gdb, but after the BSOD, qemu will reboot ,did
> > not quit, so I can't get backtrace.
> > 
> 
> Did you configure the guest's on_crash to preserve? See
> http://libvirt.org/formatdomain.html#elementsEvents

boot guest by command line directly (refer #c0)

Comment 15 Mike Cao 2013-01-18 10:12:09 UTC
caused by win8 fast startup ,close it should workaound it  referring to  http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html

Comment 16 Ademar Reis 2013-01-22 03:43:22 UTC
(In reply to comment #15)
> caused by win8 fast startup ,close it should workaound it  referring to 
> http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.
> html

Deferring the fix to 6.5 and adding a "known issue" doc text.

Comment 17 Yan Vugenfirer 2013-02-19 10:33:11 UTC
If this bug is reproduced

Comment 18 Yan Vugenfirer 2013-02-19 10:33:49 UTC
Gal, please check if it is duplicate of: https://bugzilla.redhat.com/show_bug.cgi?id=846912

Comment 19 Gal Hammer 2013-02-19 13:57:42 UTC
Closing as duplicate. I was able to reproduce this bug with the default BIOS and was unable to reproduce with a patched BIOS that doesn't allow interrupt disabling  on LNKS.

*** This bug has been marked as a duplicate of bug 846912 ***


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