Description of problem:
qemu-kvm core dumps when migration with reboot
Version-Release number of selected component (if applicable):
1 / 20
Steps to Reproduce:
1. boot a guest with cmd as below:
qemu-kvm -name win7-64 -monitor stdio -chardev socket,id=serial_id_20110919-102955-S9kt,path=/tmp/serial-20110919-102955-S9kt,server,nowait \
-device isa-serial,chardev=serial_id_20110919-102955-S9kt \
-drive file='/win7-64-virtio.qcow2',index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,format=qcow2,aio=native \
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 \
-device virtio-net-pci,netdev=idAuejnN,mac=9a:54:0d:18:83:7e,id=ndev00idAuejnN,bus=pci.0,addr=0x3 \
-netdev tap,id=idAuejnN,vhost=on -m 2048 -smp 4,cores=2,threads=1,sockets=2 \
-drive file='/winutils.iso',index=1,if=none,id=drive-ide0-0-0,media=cdrom,readonly=on,format=raw \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -cpu cpu64-rhel6,+sse2,+x2apic \
-spice port=8000,disable-ticketing \
-vga qxl -rtc base=localtime,clock=host,driftfix=none \
-boot order=cdn,once=c,menu=off \
-usbdevice tablet -M rhel6.2.0 -enable-kvm
2. login guest and reboot it
3. on qemu-monitor "migrate -d tcp:0:5200"
qemu-kvm sometimes core dump
guest works well, qemu-kvm not core dump
Guest info : win7-64(qxl 0.1-10)
detail gdb output will be attached
#0 0x000000000043e0a7 in ide_bmdma_post_load (opaque=<value optimized out>, version_id=3)
#1 ide_pci_post_load (opaque=<value optimized out>, version_id=3)
#2 0x00000000004c1009 in vmstate_load_state (f=0x300c010, vmsd=0x5b56e0, opaque=0x305b010,
version_id=3) at savevm.c:1354
#3 0x00000000004c13d9 in qemu_loadvm_state (f=0x300c010) at savevm.c:1784
#4 0x00000000004b9af9 in process_incoming_migration (f=<value optimized out>) at migration.c:73
#5 0x00000000004b9e0f in tcp_accept_incoming_migration (opaque=<value optimized out>)
#6 0x000000000040c1ff in main_loop_wait (timeout=1000) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:3854
#7 0x0000000000429fca in kvm_main_loop () at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2204
#8 0x000000000040db05 in main_loop (argc=<value optimized out>, argv=<value optimized out>,
envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4064
#9 main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>)
Created attachment 523804 [details]
Can I have the invocation command line for qemu-kvm on the incoming side, too?
(In reply to comment #2)
> Can I have the invocation command line for qemu-kvm on the incoming side, too?
The incoming side cmd is similar to above , just adding a "-incoming tcp:0:5200"
That's what I was doing and I could not reproduce it (as evident from comment 2 :)) but it looks like it was fixed upstream by commit 61d9d6b0.
Test brew build available at
(In reply to comment #5)
> That's what I was doing and I could not reproduce it (as evident from comment 2
I also can not reproduce since I met it, :)
tried 40+ rounds of reproducing.
> :)) but it looks like it was fixed upstream by commit 61d9d6b0.
> Test brew build available at
ok , will test it ,then.
Thanks and Best Regards,
Do you remember at which phase of the reboot you started migration when it failed?
Verified on qemu-kvm-0.12.1.2-2.199.el6.x86_64
1.use autotest scripts to run job "migration with reboot" 214 times
segfault 25 times ,review all the core files ,all triggered Bug https://bugzilla.redhat.com/show_bug.cgi?id=736631 ,none of the core file's back-trace is as same as the original one of this Bug .
Based on above ,this issue has been fixed ald.
Moving to ON_QA because Errata Tool did not do it
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Due to wrong initialization order for some data structures, in rare cases migration could fail and the instance of QEMU on the receiving host would crash with a segmentation fault. The initialization code has been fixed, and the crashes should not happen anymore.
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.