Bug 1024599 - Windows7 x86 guest with ahci backend hit BSOD when do "hibernate"
Summary: Windows7 x86 guest with ahci backend hit BSOD when do "hibernate"
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: John Snow
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2013-10-30 03:34 UTC by Qian Guo
Modified: 2015-03-05 09:43 UTC (History)
13 users (show)

Fixed In Version: qemu-kvm-rhev-2.1.2-10.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-03-05 09:43:01 UTC

Attachments (Terms of Use)
the screenshot of S4_bsod (15.56 KB, image/png)
2013-10-30 03:34 UTC, Qian Guo
no flags Details

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0624 normal SHIPPED_LIVE Important: qemu-kvm-rhev security, bug fix, and enhancement update 2015-03-05 14:37:36 UTC

Description Qian Guo 2013-10-30 03:34:42 UTC
Created attachment 817268 [details]
the screenshot of S4_bsod

Description of problem:
Boot a windows 7 32bit guest that based ahci sata disk, when try to do S4 inside, it hit BSOD 

Version-Release number of selected component (if applicable):
# rpm -q qemu-kvm-rhev
# uname -r

Inside guest, installed qxl-win-0.1-19

How reproducible:

Steps to Reproduce:
1.Boot a windows7 32bit guest with ahci sata backend:
# /usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 4096 -smp 4,sockets=1,cores=4,threads=1 -name win732 -rtc base=localtime,clock=host,driftfix=slew -device ahci,id=ahci0 -drive file=/home/win7x861cp1.qcow2_v3,format=qcow2,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-drive,bus=ahci0.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -spice port=5800,disable-ticketing -vga qxl -global qxl-vga.vram_size=67108864 -monitor stdio -boot menu=on -netdev tap,id=netdev0,vhost=on,fd=3 -device virtio-net-pci,mac=ce:71:f6:64:8f:18,netdev=netdev0,id=net0 -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 3<>/dev/tap3

2.Inside guest, do S4(hibernate)

Actual results:
Guest bsod, then shutdown

Expected results:

Additional info:

Comment 2 Qian Guo 2013-10-30 03:36:25 UTC
Test with virtio-blk with virtio-win-prewhql-0.1-72 , not hit such issue.

Comment 12 Yan Vugenfirer 2014-01-14 13:05:26 UTC
AHCI is not officially released in RHEL7.0. Deferring.

Comment 19 John Snow 2014-09-05 15:33:56 UTC
Hi, I have a patch for this issue which I hope to get upstream in the near future: https://github.com/jnsnow/qemu/commit/fab7e643886278869ae2e176409d002203660a78

If you pull the branch this fix is a part of you should be able to hibernate from W7 successfully.

Otherwise, please wait for this fix to be merged upstream.

Comment 20 John Snow 2014-10-12 09:24:33 UTC
Pending upstream: http://lists.gnu.org/archive/html/qemu-devel/2014-10/msg00130.html
Patches 1 & 2 are the needed minimum to correct this BZ.

Comment 21 John Snow 2014-11-04 17:46:45 UTC
the AHCI device, along with the Q35 machine type as a whole are unsupported in RHEL7. Backporting a fix for this particular issue requires backporting many changes related to Q35 and AHCI and the rest of the IDE layer as a whole, and may be somewhat involved.

The AHCI device remains fairly primitive in the 1.5.3 based versions, and improvements made to the device since rely on many changes that have occurred in the block layer and IDE core layer.

Therefore, I am changing the component of this bug to qemu-kvm-rhev, where this bug is much easier to fix with fewer backports.

Comment 25 Miroslav Rezanina 2014-11-20 11:59:20 UTC
Fix included in qemu-kvm-rhev-2.1.2-10.el7

Comment 27 Chao Yang 2014-12-05 06:38:35 UTC
Reproduced on qemu-kvm-rhev-2.1.2-9.el7.

1. refresh install a windows 7 32bit guest with hibernate enabled
2. do hibernate by clicking shutdown -> Hibernate in windows

Actual Result:
Guest BSOD on same code as reporter got.

Verified pass on qemu-kvm-rhev-2.1.2-15.el7. No BSOD any more and guest resumed from hibernate correctly, network connectivity restored. 


/usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 4096 -smp 4,sockets=1,cores=4,threads=1 -name win732 -rtc base=localtime,clock=host,driftfix=slew -device ahci,id=ahci0 -drive file=/home/test/win7_32.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-drive,bus=ahci0.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,id=netdev0 -device e1000,mac=ce:71:f6:64:8f:11,netdev=netdev0,id=net0 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -spice port=5800,disable-ticketing -vga qxl -global qxl-vga.vram_size=67108864 -monitor stdio -boot menu=on -monitor stdio -cdrom en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso

Per above, this issue has fixed.

Comment 30 errata-xmlrpc 2015-03-05 09:43:01 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.


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