Red Hat Bugzilla – Bug 1434743
Boot guest failed with error "virtio_scsi_data_plane_handle_ctrl: Assertion `s->ctx && s->dataplane_started' failed"
Last modified: 2017-08-01 23:39:56 EDT
Description of problem: Boot a guest with qemu cli including "-object iothread", booting failed and qemu prompt error information. Version-Release number of selected component (if applicable): RHEL-7.4-20170317.n.0 Server ppc64le kernel-3.10.0-623.el7 qemu-kvm-rhev-2.9.0-0.el7.mrezanin201703210848.ppc64le SLOF-20170303-1.git66d250e.el7.noarch How reproducible: 3/3 Steps to Reproduce: 1.Boot a guest with qemu cli: /usr/libexec/qemu-kvm -object iothread,id=iothread0 -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=09,iothread=iothread0 -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=unsafe,format=qcow2,file=/root/test.qcow2 -device scsi-hd,id=image1,drive=drive_image1,bus=virtio_scsi_pci0.0,bootindex=0 2. 3. Actual results: Boot guest failed and qemu prompt error message as following: VNC server running on ::1:5900 qemu-kvm: /builddir/build/BUILD/qemu-2.9.0/hw/scsi/virtio-scsi-dataplane.c:66: virtio_scsi_data_plane_handle_ctrl: Assertion `s->ctx && s->dataplane_started' failed. Aborted Expected results: Boot guest sccessfully and vm works well Additional info:
Works on qemu-kvm-rhev-2.8.0-6.el7.ppc64le . this is a regression.
I've reproduced the problem on upstream. Debugging..
Looks to be a race condition - just occasionally the assert() doesn't trip. This is making a bisect difficult.
Upstream patch series: [Qemu-devel] [PATCH for-2.9 v3 0/2] virtio-scsi: Fix assertion failure on dataplane handlers
Series mentioned in comment 9 is now merged upstream as: 3d69f821616a578aeed569b3b56e157922819602 71407786054cad26de7ef66718b2a57a4bcb49b5
Those patches have gone into 2.9, so we should get a fix for this in a subsequent 2.9 rebase.
This bug is fixed in quemu 2.9.0-rc2.The following is the step of verification: The version: kernel tree:RHEL-7.4-20170330.1-Server-ppc64le host:3.10.0-643.el7.ppc64le guest:3.10.0-643.el7.ppc64le qemu:qemu-kvm-rhev-2.9.0-0.el7.patchwork201703291116 slof:20170303-1.git66d250e.el7 The verification of cli: /usr/libexec/qemu-kvm \ -name need-info \ -M pseries-rhel7.4.0 \ -m 8G \ -nodefaults \ -smp 4,sockets=4,cores=1,threads=1 \ -boot menu=on,order=cd \ -device VGA,id=vga0 \ -device nec-usb-xhci,id=xhci \ -device usb-tablet,id=usb-tablet0 \ -device usb-kbd,id=usb-kbd0 \ -object iothread,id=iothread0 \ -device virtio-scsi-pci,id=virtio_scsi_pci1 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=09,iothread=iothread0 \ -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=unsafe,format=qcow2,file=/root/test.qcow2 \ -device scsi-hd,id=image1,drive=drive_image1,bus=virtio_scsi_pci0.0,bootindex=0 \ -netdev tap,id=hostnet0,script=/etc/qemu-ifup \ -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=40:f2:e9:5d:9c:01 \ -monitor stdio \ -serial unix:./sock1,server,nowait \ -qmp tcp:0:3001,server,nowait \ -vnc :1 Actual results: Boot guest sccessfully and vm works well ,there is no error info.
Verification: Version: kernel tree:RHEL-7.4-20170330.1-Server-ppc64le host:3.10.0-656.el7.ppc64le qemu:qemu-kvm-rhev-2.9.0-1.el7 SLOF:SLOF.noarch 20170303-1.git66d250e.el7 The step of verification is same to the Comment 12. Actual results: Boot guest sccessfully and the vm works well,there is no error info. So the bug is fixed in the version of qemu-kvm-rhev-2.9.0-1.el7 and change the status to verified.
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