Bug 1043379

Summary: guest screen fail to return back to the originally screen after resume from S3(still black screen)
Product: Red Hat Enterprise Linux 7 Reporter: Sibiao Luo <sluo>
Component: kernelAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: airlied, chayang, flang, hhuang, jasowang, juzhang, lersek, mazhang, michen, mtosatti, qzhang, rbalakri, sluo, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-3.10.0-187.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 11:35:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1101269    
Bug Blocks: 923626, 1108963, 1108966    

Description Sibiao Luo 2013-12-16 07:01:03 UTC
Description of problem:
this bug was separate from bug 1040802#c10. guest screen will be black screen and fail to return back to the originally screen after resume from S3.

Version-Release number of selected component (if applicable):
host info:
# uname -r && rpm -q qemu-kvm-rhev
3.10.0-60.el7bz1016996.x86_64
qemu-kvm-rhev-1.5.3-21.el7.x86_64
guest info:
3.10.0-60.el7bz1016996.x86_64

How reproducible:
100%

Steps to Reproduce:
1.boot up guest.
2.do S3 in guest.
3.resume guest from S3 via press keyboard.

Actual results:
after step 3, guest screen will be black screen and fail to return back to the originally screen after resume from S3.
If remove the network (i disable the network via '-net none') still get the black screen after resume.

Expected results:
it should return from S3 correctly.

Additional info:
# /usr/libexec/qemu-kvm -M pc -S -cpu Opteron_G5 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name sluo -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=/home/RHEL-7.0-20131127.1_Server_x86_64.qcow2,if=none,id=drive-disk,cache=none,format=qcow2,aio=native,werror=stop,rerror=stop -device virtio-blk-pci,vectors=0,bus=pci.0,addr=0x4,scsi=off,drive=drive-disk,id=system-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21,bus=pci.0,addr=0x5 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x6 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :1 -spice disable-ticketing,port=5931 -monitor stdio

Comment 1 Sibiao Luo 2013-12-16 07:01:37 UTC
Guest kernel logs:
# nc -U /tmp/ttyS0
[  199.335199] PM: Syncing filesystems ... done.
[  199.693577] Freezing user space processes ... (elapsed 0.001 seconds) done.
[  199.695971] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  199.698310] Suspending console(s) (use no_console_suspend to debug)
[  199.734117] PM: suspend of devices complete after 34.694 msecs
[  199.734254] PM: late suspend of devices complete after 0.134 msecs
[  199.734942] PM: noirq suspend of devices complete after 0.686 msecs
[  199.734961] ACPI: Preparing to enter system sleep state S3
[  199.735000] PM: Saving platform NVS memory
[  199.735001] Disabling non-boot CPUs ...
[  199.735019] Unregister pv shared memory for cpu 1
[  199.735356] Broke affinity for irq 1
[  199.735441] Broke affinity for irq 11
[  199.735463] Broke affinity for irq 12
[  199.735506] Broke affinity for irq 15
[  199.736568] smpboot: CPU 1 is now offline
[  199.737557] kvm-clock: cpu 0, msr 0:7ff87001, primary cpu clock, resume
[  199.737557] ACPI: Low-level resume complete
[  199.737557] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S0_] (20130517/hwxface-571)
[  199.737557] PM: Restoring platform NVS memory
[  199.737557] Enabling non-boot CPUs ...
[  199.737557] smpboot: Booting Node 0 Processor 1 APIC 0x1
[  199.737557] kvm-clock: cpu 1, msr 0:7ff87041, secondary cpu clock
[  199.768359] KVM setup async PF for cpu 1
[  199.768361] kvm-stealtime: cpu 1, msr 7fd0df80
[  199.768426] CPU1 is up
[  199.768498] ACPI: Waking up from system sleep state S3
[  199.771939] PM: noirq resume of devices complete after 3.402 msecs
[  199.772018] PM: early resume of devices complete after 0.040 msecs
[  199.772104] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[  199.772740] usb usb1: root hub lost power or was reset
[  199.968866] ata2.00: configured for MWDMA2
[  200.132060] usb 1-1: reset full-speed USB device number 2 using uhci_hcd
[  200.270896] PM: resume of devices complete after 498.876 msecs
[  200.284334] Restarting tasks ... done.

Comment 2 jason wang 2013-12-16 07:21:25 UTC
You may want to ask Alex to have a look at this.

Comment 3 Marcelo Tosatti 2014-01-02 13:08:56 UTC
If you press a virtual keyboard key, does the screen draw?

Can you boot the guest with a network device other than virtio-net (say e1000) and check whether the guest responds to network requests?

Comment 4 Sibiao Luo 2014-01-03 04:37:31 UTC
(In reply to Marcelo Tosatti from comment #3)
> If you press a virtual keyboard key, does the screen draw?
no, still hit it, and if i run system_wakeup monitor command also have no any effect.
> Can you boot the guest with a network device other than virtio-net (say
> e1000) and check whether the guest responds to network requests?
If remove the network (i disable the network via '-net none' in deed) still get the black screen after resume.

Comment 5 Marcelo Tosatti 2014-02-11 19:44:20 UTC
Host: qemu-kvm-1.5.3-45.el7, kernel-3.10.0-86.el7

Guest: kernel-3.10.0-86.el7

Command: echo mem > /sys/power/state

Can you confirm its possible to reproduce bug with the package versions above?

Comment 6 Marcelo Tosatti 2014-02-11 22:59:26 UTC
(In reply to Marcelo Tosatti from comment #5)
> Host: qemu-kvm-1.5.3-45.el7, kernel-3.10.0-86.el7
> 
> Guest: kernel-3.10.0-86.el7
> 
> Command: echo mem > /sys/power/state
> 
> Can you confirm its possible to reproduce bug with the package versions
> above?

(works for me).

Comment 7 Sibiao Luo 2014-02-12 02:49:54 UTC
(In reply to Marcelo Tosatti from comment #5)
> Host: qemu-kvm-1.5.3-45.el7, kernel-3.10.0-86.el7
> 
> Guest: kernel-3.10.0-86.el7
> 
> Command: echo mem > /sys/power/state
> 
> Can you confirm its possible to reproduce bug with the package versions
> above?

IIRC, I can reproduce it on 3.10.0-76.el7.x86_64 version in Bug 1040802#c16, I will try your kernel-3.10.0-86.el7 later and update it here.
host info:
# uname -r && rpm -q qemu-kvm
3.10.0-76.el7.x86_64
qemu-kvm-1.5.3-45.el7.x86_64
guest info:
# uname -r
3.10.0-76.el7.x86_64

Best Regards,
sluo

Comment 8 Sibiao Luo 2014-02-12 05:40:48 UTC
(In reply to Marcelo Tosatti from comment #5)
> Host: qemu-kvm-1.5.3-45.el7, kernel-3.10.0-86.el7
> 
> Guest: kernel-3.10.0-86.el7
> 
> Command: echo mem > /sys/power/state
> 
> Can you confirm its possible to reproduce bug with the package versions
> above?

Still hit this issue with 3.10.0-86.el7.x86_64 and qemu-kvm-1.5.3-45.el7.x86_64.

host info:
# uname -r && rpm -q qemu-kvm
3.10.0-86.el7.x86_64
qemu-kvm-1.5.3-45.el7.x86_64
guest info:
3.10.0-86.el7.x86_64

Best Regards,
sluo

Comment 9 Marcelo Tosatti 2014-02-12 20:12:16 UTC
-vga std: fail
-vga cirrus: fail
-vga qxl: good

Reassigning to Gerd Hoffman.

Comment 10 Gerd Hoffmann 2014-02-25 11:01:12 UTC
Guest fails to restore vga state.

Comment 12 Gerd Hoffmann 2014-02-26 06:30:56 UTC
test rpms at http://people.redhat.com/ghoffman/bz1043379/

Comment 21 Gerd Hoffmann 2014-06-18 09:43:12 UTC
*** Bug 954173 has been marked as a duplicate of this bug. ***

Comment 22 Gerd Hoffmann 2014-09-23 08:48:28 UTC
kernel-3.10.0-167.el7 got the drm backport, but without the new bochsdrm driver.
So, cirrus+s3 should work fine, stdvga not.  /me goes prepare patches ...

Comment 23 Jarod Wilson 2014-10-13 15:34:29 UTC
Patch(es) available on kernel-3.10.0-187.el7

Comment 26 mazhang 2014-11-06 03:15:33 UTC
Reproduce this bug with kernel-3.10.0-123.el7.x86_64 installed on guest.

Host:
qemu-kvm-debuginfo-1.5.3-77.el7.x86_64
qemu-kvm-common-1.5.3-77.el7.x86_64
qemu-kvm-tools-1.5.3-77.el7.x86_64
qemu-img-1.5.3-77.el7.x86_64
qemu-kvm-1.5.3-77.el7.x86_64
kernel-3.10.0-191.el7.x86_64

Guest:
kernel-3.10.0-123.el7.x86_64

Steps:
1. Boot vm.
/usr/libexec/qemu-kvm \
-M pc \
-cpu SandyBridge \
-m 2G \
-smp 4,maxcpus=160,cores=2,threads=1,sockets=2 \
-enable-kvm \
-name rhel7 \
-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 \
-nodefaults \
-monitor stdio \
-qmp tcp:0:5555,server,nowait \
-boot menu=on \
-bios /usr/share/seabios/bios.bin \
-monitor unix:/tmp/monitor2,server,nowait \
-vga std \
-spice port=5900,disable-ticketing \
-usb \
-device usb-tablet,id=tablet0 \
-drive file=/home/bug1129195/rhel7-64.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop,aio=threads \
-device virtio-blk-pci,scsi=off,bus=pci.0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 \

2. Enter S3 state.
#echo mem > /sys/power/state

3. Try resume guest.

Result:
Guest screen failed resume with std and cirrus, qxl works well.


Update guest kernel to kernel-3.10.0-197.el7.x86_64 re-test it.

Result:
Both std and cirrus works well, and also test on qemu-kvm-rhev-2.1.2-5.el7.x86_64.

So this bug has been fixed.

Comment 27 juzhang 2014-11-11 03:56:20 UTC
According to comment26, set this issue as verified.

Comment 28 Gerd Hoffmann 2015-01-05 08:57:55 UTC
*** Bug 892412 has been marked as a duplicate of this bug. ***

Comment 30 errata-xmlrpc 2015-03-05 11:35:45 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.

https://rhn.redhat.com/errata/RHSA-2015-0290.html