Bug 1177063

Summary: [virtio-win][balloon]guest can't s3/s4 correctly if disable guest-stats-polling while balloon service running
Product: Red Hat Enterprise Linux 7 Reporter: lijin <lijin>
Component: virtio-winAssignee: Gal Hammer <ghammer>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: ghammer, juzhang, lijin, mdeng, michen, rbalakri, virt-maint, vrozenfe
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: Fixed_Not_Ship
Fixed In Version: virtio-win-prewhql-0.1-99 Doc Type: Bug Fix
Doc Text:
NO_DOCS
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-24 08:48:43 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:

Description lijin 2014-12-24 02:32:17 UTC
Description of problem:
install balloon service in guest and disable guest-stats-polling:
win8-32 guest keep black screen when do d3 and s4;
win2k8R2 guest keep black screen when do d3;
win2k8R2 guest bsod when do s4:
1).verifier enabled:bsod with 7E code
2).verifier disabled:bsod with 9F code

Version-Release number of selected component (if applicable):
virtio-win-prewhql-96
qemu-kvm-rhev-2.1.2-12.el7.x86_64
kernel-3.10.0-208.el7.x86_64
seabios-bin-1.7.5-5.el7.noarch
spice-server-0.12.4-8.el7.x86_64
qxl-win-0.1-21/qxlwddm-0.1-6.zip

How reproducible:
100%

Steps to Reproduce:
1.boot guest with:
/usr/libexec/qemu-kvm -smp 2 -m 4G -cpu host -M pc -drive file=virtio-win-prewhql-96.iso,media=cdrom,if=none,cache=none,id=drive1 -device ide-drive,drive=drive1,bus=ide.0,unit=0,id=cdrom -drive file=win2k8R2.raw,if=none,cache=none,format=raw,id=drive2 -device ide-drive,drive=drive2,bus=ide.1,unit=1,id=disk -netdev tap,script=/etc/qemu-ifup,id=hostnet1 -device e1000,netdev=hostnet1,mac=00:52:54:66:66:88,id=net1 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -spice disable-ticketing,port=5901 -vga qxl -boot menu=on -usb -device usb-tablet -monitor stdio -qmp tcp:0:4445,server,nowait -device virtio-balloon-pci,id=balloon0 -cdrom en_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617601.iso

2.install balloon service in guest:
  cmd(run as administrator)
  blnsvr.exe -i

3.do s4 in guest;

4.enable driver verifier
  # verifier.exe /standard /driver balloon.sys,then reboot the guest and recheck #verifier /querysettings

5.do s4 in guest

6.enable guest-stats-polling
{"execute":"qmp_capabilities"}
{"execute": "qom-set","arguments": { "path": "/machine/peripheral/balloon0","property": "guest-stats-polling-interval", "value": 2 } }

7.do s3/s4

Actual results:
1.After step3,
win2k8R2 guest:
waiting about 10 minutes,guest bsod with 9F code;
win8-32 guest:
guest keep black screen and VM status stays "running",system_wakeup doesn't work;

2.After step5,
win2k8R2 guest :
guest bsod with 7E code;
win8-32 guest:
guest keep black screen and VM status stays "running",system_wakeup doesn't work;

3.After step7
win8-32 and win2k8R2 guests can do s3/s4 correctly

Expected results:
guest works well,can do s3/s4 correctly after step3 and step5,no bsod,no error

Additional info:
1.can reproduce this issue with virtio-win-1.7.2-2.el6.noarch
2.cannot reproduce this issue without balloon service

Comment 1 lijin 2014-12-24 02:33:30 UTC
windbg info with win2k8R2 7e code:

16.0: kd:x86> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************
 
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: ffffffff80000003, The exception code that was not handled
Arg2: fffff8000148b470, The address that the exception occurred at
Arg3: fffff8800c673378, Exception Record Address
Arg4: fffff8800c672bd0, Context Record Address
 
Debugging Details:
------------------
 
 
EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
 
FAULTING_IP:
nt!DbgBreakPoint+0
fffff800`0148b470 cc              int     3
 
EXCEPTION_RECORD:  fffff8800c673378 -- (.exr 0xfffff8800c673378)
ExceptionAddress: 0000000000000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 21542000
   Parameter[0]: fffffffffffff800
   Parameter[1]: 0000000000000001
   Parameter[2]: 0000000000000000
   Parameter[3]: 0000000000000000
   Parameter[4]: 0000000000000000
   Parameter[5]: 000000000014ac2e
   Parameter[6]: 0000000000000000
   Parameter[7]: 000000000c6735b8
   Parameter[8]: fffffffffffff880
   Parameter[9]: 0000000000000000
   Parameter[10]: 0000000000000000
   Parameter[11]: 0000000000000000
   Parameter[12]: 0000000000000000
   Parameter[13]: 0000000000000000
   Parameter[14]: 0000000000000000
 
CONTEXT:  fffff8800c672bd0 -- (.cxr 0xfffff8800c672bd0;r)
eax=0111e210 ebx=fffffa80 ecx=fffffa80 edx=04dd05a0 esi=04dd8f88 edi=fffff880
eip=00000001 esp=fffff800 ebp=fffff880 iopl=1     vif ov up di ng nz ac po nc
cs=0000  ss=0018  ds=35b8  es=057f  fs=73a8  gs=0000             efl=014d1990
00000000`00000001 ??              ???
Last set context:
eax=0111e210 ebx=fffffa80 ecx=fffffa80 edx=04dd05a0 esi=04dd8f88 edi=fffff880
eip=00000001 esp=fffff800 ebp=fffff880 iopl=1     vif ov up di ng nz ac po nc
cs=0000  ss=0018  ds=35b8  es=057f  fs=73a8  gs=0000             efl=014d1990
00000000`00000001 ??              ???
Resetting default scope
 
DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT
 
BUGCHECK_STR:  0x7E
 
PROCESS_NAME:  System
 
CURRENT_IRQL:  0
 
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.
 
EXCEPTION_PARAMETER1:  0000000000000000
 
ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre
 
LAST_CONTROL_TRANSFER:  from 0000000000000000 to 0000000000000001
 
STACK_TEXT:  
00000000 00000000 00000000 00000000 00000000 0x0
 
 
STACK_COMMAND:  kb
 
SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE
 
FOLLOWUP_NAME:  MachineOwner
 
MODULE_NAME: Unknown_Module
 
IMAGE_NAME:  Unknown_Image
 
DEBUG_FLR_IMAGE_TIMESTAMP:  0
 
IMAGE_VERSION:  
 
BUCKET_ID:  INVALID_KERNEL_CONTEXT
 
FAILURE_BUCKET_ID:  INVALID_KERNEL_CONTEXT
 
ANALYSIS_SOURCE:  KM
 
FAILURE_ID_HASH_STRING:  km:invalid_kernel_context
 
FAILURE_ID_HASH:  {ef5f68ed-c19c-e34b-48ec-8a37cd6f3937}
 
Followup: MachineOwner
---------

Comment 2 lijin 2014-12-24 02:34:07 UTC
windbg info with win2k8R2 9F code:

16.0: kd:x86> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************
 
DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: fffffa8003e9aa10, Physical Device Object of the stack
Arg3: fffff8000278a3d8, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: fffffa8004d17310, The blocked IRP
 
Debugging Details:
------------------
 
 
DRVPOWERSTATE_SUBCODE:  3
 
IRP_ADDRESS: fffffa8004d17310
 
DEVICE_OBJECT: fffffa8003e9aa10
 
DRIVER_OBJECT: fffffa8003ea5370
 
DEBUG_FLR_IMAGE_TIMESTAMP:  0
 
FAULTING_MODULE: fffff880011a4000 pci
 
DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT
 
BUGCHECK_STR:  0x9F
 
PROCESS_NAME:  System
 
CURRENT_IRQL:  2
 
ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre
 
LAST_CONTROL_TRANSFER:  from 0000000000000000 to 0000000000000000
 
STACK_TEXT:  
00000000 00000000 00000000 00000000 00000000 0x0
 
 
STACK_COMMAND:  kb
 
FOLLOWUP_NAME:  MachineOwner
 
IMAGE_VERSION:  6.1.7601.17514
 
BUCKET_ID:  INVALID_KERNEL_CONTEXT
 
MODULE_NAME: Unknown_Module
 
IMAGE_NAME:  Unknown_Image
 
FAILURE_BUCKET_ID:  INVALID_KERNEL_CONTEXT
 
ANALYSIS_SOURCE:  KM
 
FAILURE_ID_HASH_STRING:  km:invalid_kernel_context
 
FAILURE_ID_HASH:  {ef5f68ed-c19c-e34b-48ec-8a37cd6f3937}
 
Followup: MachineOwner
---------

Comment 4 lijin 2014-12-24 03:06:25 UTC
(In reply to lijin from comment #0)
> Description of problem:
> install balloon service in guest and disable guest-stats-polling:
> win8-32 guest keep black screen when do d3 and s4;
> win2k8R2 guest keep black screen when do d3;
retry do s3,same with do s4,win2k8R2 will get bsod with 7e/9f code
> win2k8R2 guest bsod when do s4:
> 1).verifier enabled:bsod with 7E code
> 2).verifier disabled:bsod with 9F code

Comment 5 Min Deng 2014-12-25 12:06:11 UTC
The same issue occurred on win7-32 guest with 7E code as well.

Comment 6 Gal Hammer 2014-12-28 14:05:43 UTC
Might be related to bug 1067249.

Comment 7 Gal Hammer 2015-01-04 14:04:40 UTC
(In reply to dengmin from comment #5)
> The same issue occurred on win7-32 guest with 7E code as well.

I was unable to reproduce on Windows 7/32 with build 96. Both S3 and S4 works.

Comment 8 Mike Cao 2015-01-05 01:17:04 UTC
(In reply to Gal Hammer from comment #7)
> (In reply to dengmin from comment #5)
> > The same issue occurred on win7-32 guest with 7E code as well.
> 
> I was unable to reproduce on Windows 7/32 with build 96. Both S3 and S4
> works.

Did you install balloon service ?

Comment 9 Gal Hammer 2015-01-05 09:27:04 UTC
(In reply to Mike Cao from comment #8)
> (In reply to Gal Hammer from comment #7)
> > (In reply to dengmin from comment #5)
> > > The same issue occurred on win7-32 guest with 7E code as well.
> > 
> > I was unable to reproduce on Windows 7/32 with build 96. Both S3 and S4
> > works.
> 
> Did you install balloon service ?

Yes. I followed all the steps as describe in comment #0.

Comment 10 lijin 2015-01-05 09:47:55 UTC
(In reply to Gal Hammer from comment #9)
> (In reply to Mike Cao from comment #8)
> > (In reply to Gal Hammer from comment #7)
> > > (In reply to dengmin from comment #5)
> > > > The same issue occurred on win7-32 guest with 7E code as well.
> > > 
> > > I was unable to reproduce on Windows 7/32 with build 96. Both S3 and S4
> > > works.
> > 
> > Did you install balloon service ?
> 
> Yes. I followed all the steps as describe in comment #0.

just a reminder,we have installed balloon driver on the guest before,so I didnot specifically mention driver installation in comment0,please also make sure you have installed balloon driver

Comment 11 Gal Hammer 2015-01-05 10:15:03 UTC
(In reply to lijin from comment #10)
> (In reply to Gal Hammer from comment #9)
> > (In reply to Mike Cao from comment #8)
> > > (In reply to Gal Hammer from comment #7)
> > > > (In reply to dengmin from comment #5)
> > > > > The same issue occurred on win7-32 guest with 7E code as well.
> > > > 
> > > > I was unable to reproduce on Windows 7/32 with build 96. Both S3 and S4
> > > > works.
> > > 
> > > Did you install balloon service ?
> > 
> > Yes. I followed all the steps as describe in comment #0.
> 
> just a reminder,we have installed balloon driver on the guest before,so I
> didnot specifically mention driver installation in comment0,please also make
> sure you have installed balloon driver

I've checked again, the driver is installed.

Might be the bug same as https://github.com/YanVugenfirer/kvm-guest-drivers-windows/issues/26

Comment 12 Gal Hammer 2015-01-05 11:21:33 UTC
I was able to reproduce it. Working on a solution.

Comment 13 Gal Hammer 2015-01-05 14:26:20 UTC
A patch was posted.

Comment 14 Min Deng 2015-01-06 02:02:48 UTC
The following steps will help to reproduce on win7-32 OS,
Steps, 
CLI,
 1. /usr/libexec/qemu-kvm -M pc-i440fx-rhel7.0.0 -cpu SandyBridge,hv_spinlocks=0x1fff,hv_relaxed,hv_vapic -smp 2 -m 4G -enable-kvm -rtc base=localtime,clock=host,driftfix=slew -netdev tap,id=hostnet0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -device e1000,netdev=hostnet0,id=virtio-net-pci0,mac=00:1a:4a:42:33:22 -k en-us -boot menu=on -vnc :3 -vga cirrus -monitor stdio -drive file=win7-32-balloon.raw,if=none,id=disk1,format=raw,cache=writeback,aio=native,werror=stop,rerror=stop -device ide-drive,drive=disk1,id=scsi1,bootindex=3,bus=ide.0,unit=0 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -drive file=en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso,if=none,media=cdrom,readonly=on,format=raw,id=cdrom1 -device ide-drive,drive=cdrom1,id=scsi2-0,bootindex=1,bus=ide.0,unit=1 -drive file=virtio-win-prewhql-96.iso,if=none,id=drive-ide0-0-1,media=cdrom -device ide-drive,drive=drive-ide0-0-1,id=ide0-0-1,bootindex=2,bus=ide.1,unit=0 -drive file=/usr/share/virtio-win/virtio-win_x86.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none -device virtio-balloon-pci,id=balloon0

2.install balloon driver

3.install balloon service in guest:
  cmd(run as administrator)
  blnsvr.exe -i
4.Do S4 the guest it will get BSOD (verifier is disabled it will get 9F)
                                   (verifier is enabled it will get 7E )

Comment 15 Min Deng 2015-01-06 02:04:23 UTC
According to developer changing to POST status

Comment 16 Mike Cao 2015-03-19 01:17:03 UTC
lijin, pls help to verified it.

Mike

Comment 17 lijin 2015-03-20 03:41:02 UTC
Reproduced this issue on build 99&102
Verified this issue on build96

steps same as comment #0

Actual Results:
on build 96,win2k8R2 guest bsod after do s3/s4,win8-32 keep black screen.
on build 99&102,win2k8R2 and win8-32 guests can do s3/s4 correctly,no BSOD.

Based on above ,this issue has been fixed already.

Comment 19 lijin 2015-07-17 07:32:58 UTC
change status to verified according to comment#17

Comment 21 errata-xmlrpc 2015-11-24 08:48:43 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/RHBA-2015-2513.html