Bug 631637

Summary: RHEL6 guest cannot return after suspended on RHEL6 kvm hypervisor
Product: Red Hat Enterprise Linux 6 Reporter: Mark Wu <dwu>
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: lihuang, llim, tao, xen-maint, yoyzhang
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-09-10 08:43:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mark Wu 2010-09-08 04:05:37 UTC
Description of problem:

When paused button in KVM is pressed, RHEL6 guest is suspended.
But even if paused button is pressed once again, the guest does not return, and is still suspended.

This problem is only solved by reboot host.
Guest is still suspended if "shutdown" or "force off" on KVM is selected after this problem occurred.
And guest is still suspended if KVM and libvirtd service are restarted.

When guest OS is RHEL4.8 or RHEL5.5, this problem does not occur.

When paused button is pressed after KVM is minimized(actually closed) and opens once again,
the dialog box holds, and the following message is output in the dialog box.

-----
 Error unpausing domain: Timed out during
 operation: cannot acquire state change lock

 * detail
 Traceback (most recent call last)
  File "/usr/share/virt-manager/virtManager/engine.py",
 line 867, in resume_domain
    vm.resume()
   File "/usr/share/virt-manager/virtManager/domain.py",
 line 1328, in resume
    self._backend.resume()
   File "/usr/lib64/python2.6/site-packages/libvirt.py".line
 592, in resume
   if ret == -1: raise libvirtError ('virDomainResume()
 failed', dom=self)
 libvirtError: Timed out during operation: cannot acquire
 state change lock
-----


How reproducible:
always

Steps to Reproduce:
 - Host
    1. Install RHEL6
    2. Boot RHEL6
    3. Start to Virtual Machine Manager, and add to guest
    4. Install RHEL6 as guest OS
 - Guest
    1. Boot RHEL6
    2. Press paused button on KVM

Version-Release number of selected component (if applicable):
Host : RHEL6 Snapshot 12 x86_64
       kernel version: 2.6.32-66.el6.x86_64
       qemu-kvm-0.12.1.2-2.112.el6.x86_64
       libvirt-0.8.1-27.el6.x86_64
Guest: RHEL6 Snapshot 12 x86_64
       kernel version: 2.6.32-66.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
 - Host
    1. Install RHEL6
    2. Boot RHEL6
    3. Start to Virtual Machine Manager, and add to guest
    4. Install RHEL6 as guest OS
 - Guest
    1. Boot RHEL6
    2. Press paused button on KVM

Actual results:
RHEL6 guest is stalled after suspended on KVM.

Expected results:
Guest can return after suspened.
Additional info:

Comment 1 Mark Wu 2010-09-08 04:22:11 UTC
I can reproduce this issue when the guest kernel is upgraded 2.6.32-66.el6.x86_64, but it works well with guest kernel 2.6.32-19.el6.x86_64. 

And this issue only happened on pressing the "pause" button in virt-manager. I can successfully suspend and then resume the same VM via virsh.

After the VM is paused by virt-manager, try to use virsh to resume it:

[root@localhost ~]# virsh list
 Id Name                 State
----------------------------------
  2 rhel5.4              running
  3 rhel6                paused

[root@localhost ~]# virsh resume rhel6
error: Failed to resume domain rhel6
error: Timed out during operation: cannot acquire state change lock

Comment 2 Lawrence Lim 2010-09-10 07:53:39 UTC
So is this a regression? Can u please try with RC kernel?

Comment 4 zhanghaiyan 2010-09-10 08:43:01 UTC
This bug cannot be reproduced on RC1, RC2.

*** This bug has been marked as a duplicate of bug 623903 ***