Bug 1262277
| Summary: | qemu quit when block mirror 2 disk enable data-plane | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | weliao <weliao> |
| Component: | qemu-kvm-rhev | Assignee: | Jeff Cody <jcody> |
| Status: | CLOSED ERRATA | QA Contact: | Qianqian Zhu <qizhu> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.2 | CC: | chayang, huding, juzhang, knoel, michen, mrezanin, pezhang, virt-maint, xfu |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-rhev-2.8.0-1.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-08-01 23:29:42 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: | |||
image and disk2 disk4: http://fileshare.englab.nay.redhat.com/pub/section2/images_backup/rhel7/bug1262277/data-disk2 http://fileshare.englab.nay.redhat.com/pub/section2/images_backup/rhel7/bug1262277/data-disk4 http://fileshare.englab.nay.redhat.com/pub/section2/images_backup/rhel7/bug1262277/sn1 http://fileshare.englab.nay.redhat.com/pub/section2/images_backup/rhel7/bug1262277/win7.qcow2 This was fixed in QEMU version 2.8. Oddly enough, while testing this I found a regression for 2.9-rc4, with a different root cause but similar manifestation (although this regression was a deadlock, not a segfault). This regression has now been fixed for -rc5, so leaving the fixed-in-version as 2.8. Reproduced on:
qemu-kvm-rhev-2.3.0-22.el7.x86_64
kernel-3.10.0-643.el7.x86_64
Steps:
1. Launch guest with two disks enabled data-plane:
/usr/libexec/qemu-kvm -name rhel7_4-9343 -m 1G -smp 2 -object iothread,id=iothread0 -drive file=/home/kvm_autotest_root/images/rhel74-64-virtio.qcow2,format=qcow2,if=none,cache=none,media=disk,werror=stop,rerror=stop,id=drive-0 -device virtio-blk-pci,drive=drive-0,id=virtio-blk-0,iothread=iothread0,bootindex=0 -drive file=/home/test,format=qcow2,if=none,cache=none,aio=native,id=drive-virtio-blk1,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-virtio-blk1,id=virtio-blk1,iothread=iothread0,bus=pci.0,addr=0x14,serial="QEMU-DISK2" -monitor stdio -qmp tcp:0:5555,server,nowait -vnc :3 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=70:e2:84:14:0e:15
2. Block mirror:
{ "execute": "drive-mirror", "arguments": { "device": "drive-virtio-blk1", "target": "/home/mirror", "format": "raw", "mode": "absolute-paths", "sync": "full", "speed": 1000000000, "on-source-error": "stop", "on-target-error": "stop" } }
3. (qemu) system_reset
Result:
Both qemu and guest hang, after mirror job ready, execute '(qemu) quit', qemu core dump.
Verified on:
qemu-kvm-rhev-2.9.0-1.el7.x86_64
kernel-3.10.0-640.el7.x86_64
Steps same as above.
Result:
qemu works well, and guest reboot succeeds.
Moving to VERIFIED per above results.
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://access.redhat.com/errata/RHSA-2017:2392 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://access.redhat.com/errata/RHSA-2017:2392 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://access.redhat.com/errata/RHSA-2017:2392 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://access.redhat.com/errata/RHSA-2017:2392 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://access.redhat.com/errata/RHSA-2017:2392 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://access.redhat.com/errata/RHSA-2017:2392 |
Description of problem: boot windows7 guest enable data plane,block mirror disk2, hotplug disk4,block mirror disk4, reboot win7 guest,qemu core dumped. Version-Release number of selected component (if applicable): host: AMD AMD Opteron(tm) Processor 6376 3.10.0-314.el7.x86_64 qemu-kvm-rhev-2.3.0-22.el7.x86_64 How reproducible: 60% Steps to Reproduce: 1.launch a KVM guest with data-plane. 2.connect to the QMP and try to do block mirror. { "execute": "drive-mirror", "arguments": { "device": "drive-data-disk0", "target": "/root/sn1", "format": "qcow2", "mode": "absolute-paths", "sync": "full", "speed": 1000000000, "on-source-error": "stop", "on-target-error": "stop" } } 3.hot-plug a disk with data-plane (qemu) __com.redhat_drive_add file=/abc/data-disk4,id=drive-data-disk4,format=raw,cache=none,aio=native,werror=stop,rerror=stop (qemu) device_add virtio-blk-pci,scsi=off,bus=pci.0,addr=0x11,drive=drive-data-disk4,id=data-disk4,iothread=iothread0 4.do block mirror for drive-data-disk4 { "execute": "drive-mirror", "arguments": { "device": "drive-data-disk4", "target": "/root/sn4", "format": "raw", "mode": "absolute-paths", "sync": "full", "speed": 1000000000, "on-source-error": "stop", "on-target-error": "stop" } } 5.reboot guest. (sometimes no reboot guest will core dumped.) Actual results: Qemu core dumped Expected results: work well Additional info: usr/libexec/qemu-kvm -name Win7.0 -cpu Opteron_G5,enforce -m 4096 -smp 4 -object iothread,id=iothread0 \ -drive file=/abc/sn1,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0,iothread=iothread0 -boot menu=on \ -netdev tap,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:55:00:77:89:8d,bus=pci.0,addr=0x3 \ -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x4 \ -drive file=/abc/data-disk2,if=none,id=drive-data-disk0,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop,bps=1024000,bps_rd=0,bps_wr=0,iops=1024000,iops_rd=0,iops_wr=0 \ -device virtio-blk-pci,drive=drive-data-disk0,id=data-disk0,iothread=iothread0,bus=pci.0,addr=0x7 \ -spice port=6600,disable-ticketing, -monitor stdio -qmp tcp:0:4444,server,nowait gdb debug info: (gdb) bt full #0 bdrv_co_do_rw (opaque=0x0) at block.c:4993 acb = 0x0 bs = <optimized out> #1 0x00005555557ed82a in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at coroutine-ucontext.c:80 self = 0x555559858240 co = 0x555559858240 #2 0x00007ffff0700110 in ?? () from /lib64/libc.so.6 No symbol table info available. #3 0x00007fffe7963f40 in ?? () No symbol table info available. #4 0x0000000000000000 in ?? () No symbol table info available.