Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1340976 - Sometimes guest OS paused after managedsave&start.
Sometimes guest OS paused after managedsave&start.
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
7.2
x86_64 Linux
medium Severity medium
: rc
: ---
Assigned To: Jiri Denemark
Virtualization Bugs
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-30 23:12 EDT by Fangge Jin
Modified: 2016-11-03 14:46 EDT (History)
6 users (show)

See Also:
Fixed In Version: libvirt-2.0.0-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 14:46:02 EDT
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)
libvirtd log (935.94 KB, text/plain)
2016-05-30 23:12 EDT, Fangge Jin
no flags Details
libvirtd log when guest resumes successfully (934.22 KB, text/plain)
2016-05-30 23:13 EDT, Fangge Jin
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2577 normal SHIPPED_LIVE Moderate: libvirt security, bug fix, and enhancement update 2016-11-03 08:07:06 EDT

  None (edit)
Description Fangge Jin 2016-05-30 23:12:11 EDT
Created attachment 1163015 [details]
libvirtd log

Description of problem:
Do managedsave&start for a guest, sometimes guest OS doesn't resume actually, but virsh command shows that guest is running.


Version-Release number of selected component (if applicable):
libvirt-1.2.17-13.el7_2.5.x86_64
qemu-kvm-rhev-2.3.0-31.el7_2.14.x86_64

How reproducible:
Seldom

Steps to Reproduce:
1.Do managedsave and start
# virsh managedsave avocado-vt-vm1

Domain avocado-vt-vm1 state saved by libvirt

# virsh start avocado-vt-vm1

Domain avocado-vt-vm1 started

2. # virsh list
 Id    Name                           State
----------------------------------------------------
 24    avocado-vt-vm1                 running


3.Ping guest
# ping 192.168.122.7
PING 192.168.122.7 (192.168.122.7) 56(84) bytes of data.

From 192.168.122.1 icmp_seq=10 Destination Host Unreachable
From 192.168.122.1 icmp_seq=11 Destination Host Unreachable
From 192.168.122.1 icmp_seq=12 Destination Host Unreachable
From 192.168.122.1 icmp_seq=13 Destination Host Unreachable
^C
--- 192.168.122.7 ping statistics ---
14 packets transmitted, 0 received, +4 errors, 100% packet loss, time 13001ms

4.Suspend the guest and resume
# virsh suspend avocado-vt-vm1; virsh resume avocado-vt-vm1
Domain avocado-vt-vm1 suspended

Domain avocado-vt-vm1 resumed

5.Ping guest again
# ping 192.168.122.7
PING 192.168.122.7 (192.168.122.7) 56(84) bytes of data.
64 bytes from 192.168.122.7: icmp_seq=1 ttl=64 time=0.114 ms
64 bytes from 192.168.122.7: icmp_seq=2 ttl=64 time=0.117 ms
^C
--- 192.168.122.7 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.114/0.115/0.117/0.010 ms



Actual results:
Guest doesn't resume actually after managedsave and start.

Expected results:
Guest resume successfully after managedsave and start.

Additional info:
I suspect this issue also exists in RHEL7.3, bug it's hard to reproduce.
Comment 1 Fangge Jin 2016-05-30 23:13 EDT
Created attachment 1163016 [details]
libvirtd log when guest resumes successfully
Comment 4 Jaroslav Suchanek 2016-06-20 07:55:02 EDT
Can you please re-test this with current libvirt build? Should be already fixed.
Thanks.
Comment 5 Jiri Denemark 2016-06-29 07:18:59 EDT

*** This bug has been marked as a duplicate of bug 1265902 ***
Comment 6 Jiri Denemark 2016-06-29 07:26:04 EDT
Heh, I didn't really want to close this as a duplicate; bug 1265902 is related since the reason is the same, but the path is a bit different and was fixed later...
Comment 7 Jiri Denemark 2016-06-29 07:32:59 EDT
This bug is already fixed upstream by v1.2.21-90-g2c4ba8b:

commit 2c4ba8b4f3d20c0cb14e8ee91f087d98a0406802
Author:     Jiri Denemark <jdenemar@redhat.com>
AuthorDate: Wed Nov 11 18:02:23 2015 +0100
Commit:     Jiri Denemark <jdenemar@redhat.com>
CommitDate: Thu Nov 19 09:41:23 2015 +0100

    qemu: Use -incoming defer for migrations
    
    Traditionally, we pass incoming migration URI on QEMU command line,
    which has some drawbacks. Depending on the URI QEMU may initialize its
    migration state immediately without giving us a chance to set any
    additional migration parameters (this applies mainly for fd: URIs). For
    some URIs the monitor may be completely blocked from the beginning until
    migration is finished, which means we may be stuck in qmp_capabilities
    command without being able to send any QMP commands.
    
    QEMU solved this by introducing "defer" parameter for -incoming command
    line option. This will tell QEMU to prepare for an incoming migration
    while the actual incoming URI is sent using migrate-incoming QMP
    command. Before calling this command we can normally talk to the
    monitor and even set any migration parameters which will be honored by
    the incoming migration.
    
    Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Comment 9 yanqzhan@redhat.com 2016-07-06 07:08:59 EDT
Reproduce this bug  with libvirt-1.2.17-13.el7_2.5
Steps to reproduce:

1.create an empty file to save ping messages.
#echo > unreach.txt

2.Use a loop command to do “managedsave--> start-->ping guest”.
#for((i=0;i<50;i++));do  (echo $i >> unreach.txt; virsh managedsave testvm; virsh start testvm; (ping 192.168.122.46 >> unreach.txt &); sleep 4; kill `pgrep ping`); done

3.Check unreach.txt to find whether there is unreachable result:
# cat unreach.txt|grep Unreachable
From 192.168.122.1 icmp_seq=1 Destination Host Unreachable
From 192.168.122.1 icmp_seq=2 Destination Host Unreachable
From 192.168.122.1 icmp_seq=3 Destination Host Unreachable
From 192.168.122.1 icmp_seq=4 Destination Host Unreachable
From 192.168.122.1 icmp_seq=1 Destination Host Unreachable
From 192.168.122.1 icmp_seq=2 Destination Host Unreachable
From 192.168.122.1 icmp_seq=3 Destination Host Unreachable
From 192.168.122.1 icmp_seq=4 Destination Host Unreachable
From 192.168.122.1 icmp_seq=1 Destination Host Unreachable
......

-------------------
Verify this bug with libvirt-2.0.0-1.el7.x86_64
Steps to verify:

1.#echo > unreach.txt

2.#for((i=0;i<50;i++));do  (echo $i >> unreach.txt; virsh managedsave testvm; virsh start testvm; (ping 192.168.122.207 >> unreach.txt &); sleep 4; kill `pgrep ping`); done

3.Check unreach.txt, no unreachable results:
# cat unreach.txt|grep Unreachable
(nothing output)

Since the result is as expected, mark this bug verified.
Comment 11 errata-xmlrpc 2016-11-03 14:46:02 EDT
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-2016-2577.html

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