Bug 846912 - [virtio-win][scsi] Disabling/enabling scsi driver stuck after S3/S4
[virtio-win][scsi] Disabling/enabling scsi driver stuck after S3/S4
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: seabios (Show other bugs)
6.4
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Paolo Bonzini
Virtualization Bugs
:
: 847205 890594 894277 912561 957326 (view as bug list)
Depends On:
Blocks: 896690 960054 761491 846519 896495 912287 912561 969808 969809
  Show dependency treegraph
 
Reported: 2012-08-09 02:09 EDT by dawu
Modified: 2013-11-21 16:15 EST (History)
18 users (show)

See Also:
Fixed In Version: seabios-0.6.1.2-27.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 912561 969808 969809 (view as bug list)
Environment:
Last Closed: 2013-11-21 16:15:04 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1655 normal SHIPPED_LIVE seabios bug fix and enhancement update 2013-11-20 16:53:16 EST

  None (edit)
Description dawu 2012-08-09 02:09:03 EDT
Description of problem:
After S3 for guest, try to Disable or Enable scsi driver, operation will stuck with Not Responding.

Version-Release number of selected component (if applicable):
kernel-2.6.32-294.el6.x86_64
qemu-kvm-0.12.1.2-2.302.el6.x86_64
virtio-win-prewhql-32

How reproducible:
always

Steps to Reproduce:
1.Start guest with CLI:
  /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu Penryn,+x2apic,family=0xf -usb -device usb-tablet -drive file=win7-64-ide.qcow2,format=qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,werror=stop,aio=native -device virtio-scsi-pci,id=bus0 -device scsi-hd,bus=bus0.0,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup0 -device e1000,netdev=hostnet0,mac=00:10:16:23:25:16,bus=pci.0,addr=0x4 -uuid dbde9e26-140c-4efb-8d58-4b1ca0251cdb -rtc base=localtime -no-kvm-pit-reinjection -monitor stdio -name win7-64-scsi -spice disable-ticketing,port=5932 -vga qxl -qmp tcp:0:4445,server,nowait  -bios /usr/share/seabios/bios-pm.bin -device virtio-scsi-pci,bus=pci.0,id=scsi0 -drive file=test3.qcow2,format=qcow2,if=none,media=disk,aio=native,werror=stop,rerror=stop,id=scsi0 -device scsi-hd,bus=scsi0.0,drive=scsi0,id=scsi1

2.Do S3 for guest

3.After guest resuming,login to guest and disable or enable data disk driver from  device manager (Device Manger -> Storage controller)
  
Actual results:
Disable or Enable scsi driver stuck with Not Responding prompt, and have to end program to stop the stuck.

Expected results:
Guest should be able to disable or enable scsi driver successfully without stuck after S3.

Additional info:
If restart or shut down guest when hit this issue, guest will stuck during shutting down,only system_reset can reboot guest, after guest restart, disable and enable will work well.
Comment 1 dawu 2012-08-09 02:14:32 EDT
This issue also happened after doing S4.

Best Regards,
Dawn
Comment 3 dawu 2012-08-09 02:59:31 EDT
This issue also happened when uninstalling driver after S3/S4, uninstalling will also stuck after S3/S4.

Best Regards,
Dawn
Comment 5 Gal Hammer 2013-02-18 08:50:51 EST
*** Bug 890594 has been marked as a duplicate of this bug. ***
Comment 6 Gal Hammer 2013-02-18 08:55:19 EST
The problem is with the seabios code and it was fixed upstream (f64a472a481784231fbf8541825501df411b11d1).

After the guest was resumed from sleep (S3) the scsi device's interrupt was disabled. Without interrupts the driver didn't completed the irp, which result in a bsod after 10 minutes.
Comment 7 Gal Hammer 2013-02-19 08:57:42 EST
*** Bug 894277 has been marked as a duplicate of this bug. ***
Comment 8 dawu 2013-03-04 01:10:13 EST
Verify this issue with the fixed seabios on upstream, https://bugzilla.redhat.com/attachment.cgi?id=699975, still hit this issue, following is the details:

environment:
kernel-2.6.32-361.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.356.el6.x86_64
virtio-win-prewhql-54

steps:
1. replace the current bios.bin to the fixed one from upstream, https://bugzilla.redhat.com/attachment.cgi?id=699975

2. Start guest with CLI:
   /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu Penryn,+x2apic,family=0xf -usb -device usb-tablet -drive file=win7-64-fun.qcow2,format=qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,werror=stop,aio=native -device virtio-scsi-pci,id=bus0 -device scsi-hd,bus=bus0.0,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,mac=00:10:16:23:25:16,bus=pci.0,addr=0x4 -uuid dbde9e26-140c-4efb-8d58-4b1ca0251cdb -rtc base=localtime -no-kvm-pit-reinjection -monitor stdio -name win7-64-scsi -spice disable-ticketing,port=5931 -vga qxl -qmp tcp:0:4445,server,nowait -device virtio-scsi-pci,bus=pci.0,id=scsi0 -drive file=disk1.qcow2,format=qcow2,if=none,media=disk,aio=native,werror=stop,rerror=stop,id=scsi0 -device scsi-hd,bus=scsi0.0,drive=scsi0,id=scsi1 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0

3. Do S3 for guest
4. Disable scsi driver after resume finish.

Actually result:
guest hang when disabling scsi driver.


Best Regards,
Dawn
Comment 9 Gal Hammer 2013-03-05 02:46:35 EST
(In reply to comment #8)

> 2. Start guest with CLI:
>    /usr/libexec/qemu-kvm -m 2G -smp 2 -cpu Penryn,+x2apic,family=0xf -usb
> -device usb-tablet -drive
> file=win7-64-fun.qcow2,format=qcow2,index=0,if=none,id=drive-virtio-disk1,
> media=disk,cache=none,werror=stop,aio=native -device virtio-scsi-pci,id=bus0
> -device scsi-hd,bus=bus0.0,drive=drive-virtio-disk1,id=virtio-disk1 -netdev
> tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device
> e1000,netdev=hostnet0,mac=00:10:16:23:25:16,bus=pci.0,addr=0x4 -uuid
> dbde9e26-140c-4efb-8d58-4b1ca0251cdb -rtc base=localtime
> -no-kvm-pit-reinjection -monitor stdio -name win7-64-scsi -spice
> disable-ticketing,port=5931 -vga qxl -qmp tcp:0:4445,server,nowait -device
> virtio-scsi-pci,bus=pci.0,id=scsi0 -drive
> file=disk1.qcow2,format=qcow2,if=none,media=disk,aio=native,werror=stop,
> rerror=stop,id=scsi0 -device scsi-hd,bus=scsi0.0,drive=scsi0,id=scsi1
> -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0

This is probably nothing, but I don't see you have used the "-bios" parameter. 
 
> Actually result:
> guest hang when disabling scsi driver.

I'll check again.
Comment 10 dawu 2013-03-05 03:19:23 EST
(In reply to comment #9)
> (In reply to comment #8)
> This is probably nothing, but I don't see you have used the "-bios"
> parameter. 
>  
Hi Gal Hammer,

Actually I have replaced the the current bios.bin under path /usr/share/seabios/ to the fixed one in the first step in the Comment 8.
Now I tried to specified the fixed bios.bin manually in the start CLI,still hit the same issue.

/usr/libexec/qemu-kvm -m 2G -smp 2 -cpu Penryn,+x2apic,family=0xf -usb -device usb-tablet -drive file=win7-64-fun.qcow2,format=qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,werror=stop,aio=native -device virtio-scsi-pci,id=bus0 -device scsi-hd,bus=bus0.0,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,mac=00:10:16:23:25:16,bus=pci.0,addr=0x4 -uuid dbde9e26-140c-4efb-8d58-4b1ca0251cdb -rtc base=localtime -no-kvm-pit-reinjection -monitor stdio -name win7-64-scsi -spice disable-ticketing,port=5931 -vga qxl -qmp tcp:0:4445,server,nowait -device virtio-scsi-pci,bus=pci.0,id=scsi0 -drive file=disk1.qcow2,format=qcow2,if=none,media=disk,aio=native,werror=stop,rerror=stop,id=scsi0 -device scsi-hd,bus=scsi0.0,drive=scsi0,id=scsi1 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -bios /home/bios.bin

any incorrect for the test,please let me know, thanks!

Best Regards,
Dawn
Comment 11 dawu 2013-03-05 04:01:40 EST
Verified this issue with the correct fixed bios.bin from https://bugzilla.redhat.com/show_bug.cgi?id=912561, after the same steps in the bug description, this issue gone, guest works well with no any hang and BSOD.

CLI:
/usr/libexec/qemu-kvm -m 2G -smp 2 -cpu Penryn,+x2apic,family=0xf -usb -device usb-tablet -drive file=win7-64-fun.qcow2,format=qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,werror=stop,aio=native -device virtio-scsi-pci,id=bus0 -device scsi-hd,bus=bus0.0,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,mac=00:10:16:23:25:16,bus=pci.0,addr=0x4 -uuid dbde9e26-140c-4efb-8d58-4b1ca0251cdb -rtc base=localtime -no-kvm-pit-reinjection -monitor stdio -name win7-64-scsi -spice disable-ticketing,port=5931 -vga qxl -qmp tcp:0:4445,server,nowait -device virtio-scsi-pci,bus=pci.0,id=scsi0 -drive file=disk1.qcow2,format=qcow2,if=none,media=disk,aio=native,werror=stop,rerror=stop,id=scsi0 -device scsi-hd,bus=scsi0.0,drive=scsi0,id=scsi1 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -bios /home/bios.bin

Thanks for Gal's help.

Best Regards,
Dawn
Comment 15 Paolo Bonzini 2013-03-12 11:16:05 EDT
Dawn, can you confirm that comments 9-10 were wrong and that the BIOS is fixing the issue?
Comment 16 Paolo Bonzini 2013-03-12 11:16:50 EDT
*** Bug 912561 has been marked as a duplicate of this bug. ***
Comment 18 dawu 2013-03-12 22:19:55 EDT
(In reply to comment #15)
> Dawn, can you confirm that comments 9-10 were wrong and that the BIOS is
> fixing the issue?

Hi Paolo,
yes,the bios.bin file using in comments 9-10 is wrong, so Gal tell me the right one from bug https://bugzilla.redhat.com/show_bug.cgi?id=912561 which can fix this issue.

any problem, please let me know, thanks!

Best Regards,
Dawn
Comment 19 Gal Hammer 2013-03-14 11:33:01 EDT
*** Bug 847205 has been marked as a duplicate of this bug. ***
Comment 20 Mike Cao 2013-04-08 23:30:07 EDT
Paolo 

When the offical build will come out ?
Comment 22 Paolo Bonzini 2013-04-10 07:26:28 EDT
Michal, my patch "acpi: do not let guest OSes enable/disable the SCI" (http://patchwork.virt.bos.redhat.com/patch/49632/) listed two BZs: this one and bug 846519.
Comment 23 Michal Novotny 2013-04-10 08:28:29 EDT
(In reply to comment #22)
> Michal, my patch "acpi: do not let guest OSes enable/disable the SCI"
> (http://patchwork.virt.bos.redhat.com/patch/49632/) listed two BZs: this one
> and bug 846519.

Ah, ok, thanks. I'm having just information about bug 846519 there. I've updated it now.

Michal
Comment 30 mazhang 2013-06-19 06:05:36 EDT
Reproduce this bug on below configuration.

host:
qemu-kvm-0.12.1.2-2.375.el6.x86_64
kernel-2.6.32-358.el6.x86_64
seabios-0.6.1.2-26.el6.x86_64

guest:
win7-64
virtio-win-prewhql-0.1-59

Steps to Reproduce:
1.Start guest with CLI:
/usr/libexec/qemu-kvm \
-M rhel6.5.0 \
-cpu SandyBridge \
-m 2G \
-smp 2,sockets=1,cores=2,threads=1,maxcpus=16 \
-enable-kvm \
-name win7 \
-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 \
-netdev tap,id=hostnet0,downscript=no,vhost=on \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:2e:28:1c,bus=pci.0,addr=0x4,bootindex=2 \
-vga qxl \
-spice port=5900,disable-ticketing \
-drive file=/mnt/windows/win7.qcow2,format=qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,werror=stop,aio=native \
-device virtio-scsi-pci,id=bus0 \
-device scsi-hd,bus=bus0.0,drive=drive-virtio-disk1,id=virtio-disk1 \
-global PIIX4_PM.disable_s3=0 \
-global PIIX4_PM.disable_s4=0 \
-device virtio-scsi-pci,bus=pci.0,id=scsi0 \
-drive file=/home/disk1.qcow2,format=qcow2,if=none,media=disk,aio=native,werror=stop,rerror=stop,id=scsi0 \
-device scsi-hd,bus=scsi0.0,drive=scsi0,id=scsi1 \

2.Sleep guest.

3.Wake up guest by press keyboard,login to guest and disable or enable data disk driver from device manager (Device Manger -> Storage controller)
  
Actual results:
Disable or Enable scsi driver stuck with Not Responding prompt, and have to end program to stop the stuck, and shutdown guest will stuck

Expected results:
Guest should be able to disable or enable scsi driver successfully without stuck after S3.


Verify this bug with below configuration.

host:
qemu-kvm-0.12.1.2-2.375.el6.x86_64
kernel-2.6.32-358.el6.x86_64
seabios-0.6.1.2-27.el6.x86_64

guest:
win7-64
virtio-win-prewhql-0.1-59

Steps to Reproduce refer above

result:
Guest can be disable or enable scsi driver successfully without stuck after S3 and S4. storage disk work well after do this test.
Comment 34 Laszlo Ersek 2013-09-02 03:40:16 EDT
*** Bug 957326 has been marked as a duplicate of this bug. ***
Comment 35 errata-xmlrpc 2013-11-21 16:15:04 EST
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-2013-1655.html

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