-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
rhel-8.10.z
-
None
-
None
-
Critical
-
1
-
rhel-virt-storage
-
None
-
False
-
False
-
-
None
-
Planning backlog
-
None
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
None
What were you trying to do that didn't work?
Passthrough the host multipath as scsi-block device.
Execute MSFC test (Failover cluster validation) in Windows guest.
One of the guest hit io error
{"timestamp": \{"seconds": 1760164140, "microseconds": 741253}, "event": "BLOCK_IO_ERROR", "data": {"device": "", "nospace": false, "node-name": "host_disk", "reason": "Invalid argument", "operation": "write", "action": "stop"}}
The guest crashed after resuming the VM
qemu-kvm: ../hw/scsi/scsi-disk.c:554: scsi_write_data: Assertion `r->req.aiocb == NULL' failed.
Stack trace of thread 68461:
#0 0x00007f905cc2f52f raise (libc.so.6)
#1 0x00007f905cc02e65 abort (libc.so.6)
#2 0x00007f905cc02d39 __assert_fail_base.cold.0 (libc.so.6)
#3 0x00007f905cc27e86 __assert_fail (libc.so.6)
#4 0x000055e65c392b41 scsi_write_data (qemu-kvm)
#5 0x000055e65c38f86d scsi_dma_restart_bh (qemu-kvm)
#6 0x000055e65c64a1c8 aio_bh_call (qemu-kvm)
#7 0x000055e65c64a29e aio_bh_poll (qemu-kvm)
#8 0x000055e65c638102 aio_dispatch (qemu-kvm)
#9 0x000055e65c64a0f2 aio_ctx_dispatch (qemu-kvm)
#10 0x00007f905dcdfaed g_main_context_dispatch (libglib-2.0.so.0)
#11 0x000055e65c654720 glib_pollfds_poll (qemu-kvm)
#12 0x000055e65c44d1d9 qemu_main_loop (qemu-kvm)
#13 0x000055e65c280ec2 main (qemu-kvm)
#14 0x00007f905cc1b7e5 __libc_start_main (libc.so.6)
What is the impact of this issue to you?
Please provide the package NVR for which the bug is seen:
4.18.0-553.el8_10.x86_64
device-mapper-1.02.181-14.el8.x86_64
device-mapper-multipath-0.8.4-41.el8.x86_64
qemu-kvm-6.2.0-53.module+el8.10.0+23081+c18b1ee3.4.x86_64
seabios-bin-1.16.0-4.module+el8.9.0+19570+14a90618.noarch
How reproducible is this bug?:
100%
Steps to reproduce
- Boot VMs on two hosts with the pass-through multipath
/usr/libexec/qemu-kvm \ -name node1 \ -machine q35 \ -nodefaults \ -device VGA,bus=pcie.0,addr=0x1 \ -device pvpanic,ioport=0x505,id=idZcGD6F \ -device pcie-root-port,id=pcie-root-port-2,slot=2,chassis=2,addr=0x2,bus=pcie.0 \ -device qemu-xhci,id=usb1,bus=pcie-root-port-2,addr=0x0 \ -device pcie-root-port,id=pcie-root-port-3,slot=3,chassis=3,addr=0x3,bus=pcie.0 \ -device pcie-root-port,id=pcie-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \ -device pcie-root-port,id=pcie-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \ -device pcie-root-port,id=pcie-root-port-6,slot=6,chassis=6,addr=0x6,bus=pcie.0 \ -device virtio-scsi-pci,id=scsi0,bus=pcie-root-port-3,addr=0x0 \ -device virtio-scsi-pci,id=scsi1,bus=pcie-root-port-4,addr=0x0,max_sectors=512 \ -object pr-manager-helper,id=helper0,path=/var/run/qemu-pr-helper.sock \ -blockdev driver=file,node-name=file_disk,cache.direct=off,cache.no-flush=on,filename=/home/msfo/ms-node1.qcow2 \ -blockdev driver=qcow2,node-name=protocol_disk,file=file_disk \ -device scsi-hd,drive=protocol_disk,bus=scsi0.0,serial=node1,id=os_disk,bootindex=1 \ -blockdev driver=host_device,filename=/dev/mapper/mpathb,cache.direct=on,node-name=drive_disk,pr-manager=helper0 \ -blockdev driver=raw,node-name=host_disk,file=drive_disk \ -device scsi-block,bus=scsi1.0,drive=host_disk,id=scsi0-0-0-0,bootindex=2,werror=stop,rerror=stop \ -device virtio-net-pci,mac=9a:95:96:97:98:91,id=idKSMZST,netdev=idWCSiU5,bus=pcie-root-port-6,addr=0x0 \ -netdev tap,id=idWCSiU5,script=/etc/qemu-ifup,vhost=on \ -m 12G \ -cpu host,vmx,+kvm_pv_unhalt \ -smp 8,maxcpus=8,cores=4,threads=1,sockets=2 \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -vnc :7 \ -rtc base=localtime,clock=host,driftfix=slew \ -boot order=cdn,once=c,menu=off,strict=off \ -enable-kvm \ -monitor stdio \ -chardev socket,id=socket-serial,path=/var/tmp/socket-serial,logfile=/var/tmp/file-serial.log,mux=on,server=on,wait=off \ -serial chardev:socket-serial \ -chardev file,path=/var/tmp/file-bios.log,id=file-bios \ -device isa-debugcon,chardev=file-bios,iobase=0x402 \ -chardev socket,id=socket-qmp,path=/var/tmp/socket-qmp,logfile=/var/tmp/file-qmp.log,mux=on,server=on,wait=off \ -mon chardev=socket-qmp,mode=control \ -chardev socket,id=socket-hmp,path=/var/tmp/socket-hmp,logfile=/var/tmp/file-hmp.log,mux=on,server=on,wait=off \ -mon chardev=socket-hmp,mode=readline
2. Execute WSFC test
Expected results
The test may pass
Actual results
One VM gets paused due to io-error
It crashed after resuming the VM