Bug 1257840 - dst qemu coredumpd if do migration from the "prelaunch status"
dst qemu coredumpd if do migration from the "prelaunch status"
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.2
x86_64 Unspecified
medium Severity high
: rc
: ---
Assigned To: Juan Quintela
xianwang
:
Depends On:
Blocks: 1401400
  Show dependency treegraph
 
Reported: 2015-08-28 04:31 EDT by Qian Guo
Modified: 2017-05-03 07:46 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-05-03 07:46:48 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)

  None (edit)
Description Qian Guo 2015-08-28 04:31:43 EDT
Description of problem:
Dst qemu core dumped like this :

(qemu) ERROR: invalid runstate transition: 'inmigrate' -> 'prelaunch'

Program received signal SIGABRT, Aborted.





Version-Release number of selected component (if applicable):
qemu-kvm-rhev-2.3.0-19.el7.x86_64
3.10.0-309.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Launch qemu with "-S"

(qemu) info status
VM status: paused (prelaunch)


2.Do migration 
3.

Actual results:
dst qemu core dumped:
(qemu) ERROR: invalid runstate transition: 'inmigrate' -> 'prelaunch'

Program received signal SIGABRT, Aborted.
0x00007ffff06ee5f7 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install alsa-lib-1.0.28-2.el7.x86_64 boost-system-1.53.0-24.el7.x86_64 boost-thread-1.53.0-24.el7.x86_64 bzip2-libs-1.0.6-13.el7.x86_64 celt051-0.5.1.3-8.el7.x86_64 cyrus-sasl-lib-2.1.26-19.2.el7.x86_64 cyrus-sasl-md5-2.1.26-19.2.el7.x86_64 cyrus-sasl-plain-2.1.26-19.2.el7.x86_64 cyrus-sasl-scram-2.1.26-19.2.el7.x86_64 dbus-libs-1.6.12-13.el7.x86_64 elfutils-libelf-0.163-2.el7.x86_64 elfutils-libs-0.163-2.el7.x86_64 flac-libs-1.3.0-5.el7_1.x86_64 glib2-2.42.2-4.el7.x86_64 glibc-2.17-105.el7.x86_64 glusterfs-api-3.7.1-11.el7.x86_64 glusterfs-libs-3.7.1-11.el7.x86_64 gmp-6.0.0-11.el7.x86_64 gnutls-3.3.8-12.el7_1.1.x86_64 gperftools-libs-2.4-1.el7.x86_64 gsm-1.0.13-11.el7.x86_64 json-c-0.11-4.el7_0.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.13.2-7.el7.x86_64 libICE-1.0.9-2.el7.x86_64 libSM-1.2.2-2.el7.x86_64 libX11-1.6.3-2.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXi-1.7.4-2.el7.x86_64 libXtst-1.2.2-2.1.el7.x86_64 libacl-2.2.51-12.el7.x86_64 libaio-0.3.109-13.el7.x86_64 libasyncns-0.8-7.el7.x86_64 libattr-2.4.46-12.el7.x86_64 libcap-2.22-8.el7.x86_64 libcom_err-1.42.9-7.el7.x86_64 libcurl-7.29.0-25.el7.x86_64 libdb-5.3.21-17.el7_0.1.x86_64 libffi-3.0.13-16.el7.x86_64 libgcc-4.8.5-4.el7.x86_64 libgcrypt-1.5.3-12.el7_1.1.x86_64 libgpg-error-1.12-3.el7.x86_64 libibverbs-1.1.8-6.el7.x86_64 libidn-1.28-4.el7.x86_64 libiscsi-1.9.0-6.el7.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libnl-1.1.4-3.el7.x86_64 libogg-1.3.0-7.el7.x86_64 libpng-1.5.13-5.el7.x86_64 librados2-0.80.7-3.el7.x86_64 librbd1-0.80.7-3.el7.x86_64 librdmacm-1.0.21-1.el7.x86_64 libseccomp-2.2.1-1.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 libsndfile-1.0.25-10.el7.x86_64 libssh2-1.4.3-10.el7.x86_64 libstdc++-4.8.5-4.el7.x86_64 libtasn1-3.8-2.el7.x86_64 libunwind-1.1-5.el7.x86_64 libusbx-1.0.15-4.el7.x86_64 libuuid-2.23.2-25.el7.x86_64 libvorbis-1.3.3-8.el7.x86_64 libxcb-1.11-4.el7.x86_64 lzo-2.06-8.el7.x86_64 nettle-2.7.1-4.el7.x86_64 nspr-4.10.8-1.el7_1.x86_64 nss-3.19.1-10.el7.x86_64 nss-softokn-freebl-3.16.2.3-14.el7.x86_64 nss-util-3.19.1-4.el7.x86_64 numactl-libs-2.0.9-5.el7.x86_64 openldap-2.4.40-5.el7.x86_64 openssl-libs-1.0.1e-42.el7_1.9.x86_64 p11-kit-0.20.7-3.el7.x86_64 pcre-8.32-15.el7.x86_64 pixman-0.32.6-3.el7.x86_64 pulseaudio-libs-6.0-6.el7.x86_64 snappy-1.1.0-3.el7.x86_64 spice-server-0.12.4-13.el7.x86_64 systemd-libs-219-11.el7.x86_64 tcp_wrappers-libs-7.6-77.el7.x86_64 trousers-0.3.13-1.el7.x86_64 usbredir-0.6-7.el7.x86_64 xz-libs-5.1.2-12alpha.el7.x86_64 zlib-1.2.7-15.el7.x86_64
(gdb) bt
#0  0x00007ffff06ee5f7 in raise () from /lib64/libc.so.6
#1  0x00007ffff06efce8 in abort () from /lib64/libc.so.6
#2  0x00005555556d6767 in runstate_set (new_state=<optimized out>) at vl.c:648
#3  0x000055555579795d in process_incoming_migration_co (opaque=0x55555800a000) at migration/migration.c:259
#4  0x00005555557ed7aa in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at coroutine-ucontext.c:80
#5  0x00007ffff0700110 in ?? () from /lib64/libc.so.6
#6  0x00007fffffffcf60 in ?? ()
#7  0x0000000000000000 in ?? ()
(gdb) bt ful
#0  0x00007ffff06ee5f7 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ffff06efce8 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00005555556d6767 in runstate_set (new_state=<optimized out>) at vl.c:648
        __PRETTY_FUNCTION__ = "runstate_set"
#3  0x000055555579795d in process_incoming_migration_co (opaque=0x55555800a000) at migration/migration.c:259
        f = 0x55555800a000
        local_err = 0x0
        ret = 0
#4  0x00005555557ed7aa in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at coroutine-ucontext.c:80
        self = 0x555558102000
        co = 0x555558102000
#5  0x00007ffff0700110 in ?? () from /lib64/libc.so.6
No symbol table info available.
#6  0x00007fffffffcf60 in ?? ()
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) 


And src qemu changed its status:


(qemu) info status
VM status: paused (postmigrate)


Expected results:
1.Dst should not coredumped, but quit if not support such migration.
2.The migration should fail, and src qemu should remains as "prelaunch"

Additional info:

Dst core dumped either if the src status is "postmigrate":

(qemu) ERROR: invalid runstate transition: 'inmigrate' -> 'postmigrate'

Program received signal SIGABRT, Aborted.
0x00007ffff06ee5f7 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install alsa-lib-1.0.28-2.el7.x86_64 boost-system-1.53.0-24.el7.x86_64 boost-thread-1.53.0-24.el7.x86_64 bzip2-libs-1.0.6-13.el7.x86_64 celt051-0.5.1.3-8.el7.x86_64 cyrus-sasl-lib-2.1.26-19.2.el7.x86_64 cyrus-sasl-md5-2.1.26-19.2.el7.x86_64 cyrus-sasl-plain-2.1.26-19.2.el7.x86_64 cyrus-sasl-scram-2.1.26-19.2.el7.x86_64 dbus-libs-1.6.12-13.el7.x86_64 elfutils-libelf-0.163-2.el7.x86_64 elfutils-libs-0.163-2.el7.x86_64 flac-libs-1.3.0-5.el7_1.x86_64 glib2-2.42.2-4.el7.x86_64 glibc-2.17-105.el7.x86_64 glusterfs-api-3.7.1-11.el7.x86_64 glusterfs-libs-3.7.1-11.el7.x86_64 gmp-6.0.0-11.el7.x86_64 gnutls-3.3.8-12.el7_1.1.x86_64 gperftools-libs-2.4-1.el7.x86_64 gsm-1.0.13-11.el7.x86_64 json-c-0.11-4.el7_0.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.13.2-7.el7.x86_64 libICE-1.0.9-2.el7.x86_64 libSM-1.2.2-2.el7.x86_64 libX11-1.6.3-2.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXi-1.7.4-2.el7.x86_64 libXtst-1.2.2-2.1.el7.x86_64 libacl-2.2.51-12.el7.x86_64 libaio-0.3.109-13.el7.x86_64 libasyncns-0.8-7.el7.x86_64 libattr-2.4.46-12.el7.x86_64 libcap-2.22-8.el7.x86_64 libcom_err-1.42.9-7.el7.x86_64 libcurl-7.29.0-25.el7.x86_64 libdb-5.3.21-17.el7_0.1.x86_64 libffi-3.0.13-16.el7.x86_64 libgcc-4.8.5-4.el7.x86_64 libgcrypt-1.5.3-12.el7_1.1.x86_64 libgpg-error-1.12-3.el7.x86_64 libibverbs-1.1.8-6.el7.x86_64 libidn-1.28-4.el7.x86_64 libiscsi-1.9.0-6.el7.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libnl-1.1.4-3.el7.x86_64 libogg-1.3.0-7.el7.x86_64 libpng-1.5.13-5.el7.x86_64 librados2-0.80.7-3.el7.x86_64 librbd1-0.80.7-3.el7.x86_64 librdmacm-1.0.21-1.el7.x86_64 libseccomp-2.2.1-1.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 libsndfile-1.0.25-10.el7.x86_64 libssh2-1.4.3-10.el7.x86_64 libstdc++-4.8.5-4.el7.x86_64 libtasn1-3.8-2.el7.x86_64 libunwind-1.1-5.el7.x86_64 libusbx-1.0.15-4.el7.x86_64 libuuid-2.23.2-25.el7.x86_64 libvorbis-1.3.3-8.el7.x86_64 libxcb-1.11-4.el7.x86_64 lzo-2.06-8.el7.x86_64 nettle-2.7.1-4.el7.x86_64 nspr-4.10.8-1.el7_1.x86_64 nss-3.19.1-10.el7.x86_64 nss-softokn-freebl-3.16.2.3-14.el7.x86_64 nss-util-3.19.1-4.el7.x86_64 numactl-libs-2.0.9-5.el7.x86_64 openldap-2.4.40-5.el7.x86_64 openssl-libs-1.0.1e-42.el7_1.9.x86_64 p11-kit-0.20.7-3.el7.x86_64 pcre-8.32-15.el7.x86_64 pixman-0.32.6-3.el7.x86_64 pulseaudio-libs-6.0-6.el7.x86_64 snappy-1.1.0-3.el7.x86_64 spice-server-0.12.4-13.el7.x86_64 systemd-libs-219-11.el7.x86_64 tcp_wrappers-libs-7.6-77.el7.x86_64 trousers-0.3.13-1.el7.x86_64 usbredir-0.6-7.el7.x86_64 xz-libs-5.1.2-12alpha.el7.x86_64 zlib-1.2.7-15.el7.x86_64
(gdb) bt
#0  0x00007ffff06ee5f7 in raise () from /lib64/libc.so.6
#1  0x00007ffff06efce8 in abort () from /lib64/libc.so.6
#2  0x00005555556d6767 in runstate_set (new_state=<optimized out>) at vl.c:648
#3  0x000055555579795d in process_incoming_migration_co (opaque=0x55555800a000) at migration/migration.c:259
#4  0x00005555557ed7aa in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at coroutine-ucontext.c:80
#5  0x00007ffff0700110 in ?? () from /lib64/libc.so.6
#6  0x00007fffffffcf60 in ?? ()
#7  0x0000000000000000 in ?? ()
(gdb) bt ful
#0  0x00007ffff06ee5f7 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ffff06efce8 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00005555556d6767 in runstate_set (new_state=<optimized out>) at vl.c:648
        __PRETTY_FUNCTION__ = "runstate_set"
#3  0x000055555579795d in process_incoming_migration_co (opaque=0x55555800a000) at migration/migration.c:259
        f = 0x55555800a000
        local_err = 0x0
        ret = 0
#4  0x00005555557ed7aa in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at coroutine-ucontext.c:80
        self = 0x555558102000
        co = 0x555558102000
#5  0x00007ffff0700110 in ?? () from /lib64/libc.so.6
No symbol table info available.
#6  0x00007fffffffcf60 in ?? ()
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Comment 2 Juan Quintela 2015-09-09 13:42:55 EDT
Move to RHEL7.3?
Basically we are not allowing to migrate from qemu -S launched.  if we have a guest that have _never_ run, obvious thing to do is exit it and launch it on destination.
Comment 3 Juan Quintela 2015-09-09 13:46:15 EDT
Move to RHEL7.3?
Basically we are not allowing to migrate from qemu -S launched.  if we have a guest that have _never_ run, obvious thing to do is exit it and launch it on destination.
Comment 6 Juan Quintela 2016-08-24 11:45:07 EDT
Why aren't you launching qemu in destination.  It has never ever run.
Comment 7 Juan Quintela 2017-05-03 07:46:48 EDT
Fixed in upstream and in current release with commit:

commit 98799b0d4be4fb5e3962005448119133a6bf74b2
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Mon Feb 15 19:40:04 2016 +0100

    vl: fix migration from prelaunch state
    
    Reproducer is simply to migrate a virtual machine that was started with -S,
    or that was already migrated.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

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