Red Hat Bugzilla – Bug 1024599
Windows7 x86 guest with ahci backend hit BSOD when do "hibernate"
Last modified: 2015-03-05 04:43:01 EST
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
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)
Guest bsod, then shutdown
Test with virtio-blk with virtio-win-prewhql-0.1-72 , not hit such issue.
AHCI is not officially released in RHEL7.0. Deferring.
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.
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.
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.
Fix included in qemu-kvm-rhev-2.1.2-10.el7
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
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.
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.