Bug 2085423

Summary: [virtio-win][vioscsi] Hit BSOD randomly when do system reboot during iozone tests
Product: Red Hat Enterprise Linux 9 Reporter: Peixiu Hou <phou>
Component: virtio-winAssignee: Vadim Rozenfeld <vrozenfe>
virtio-win sub component: virtio-win-prewhql QA Contact: Peixiu Hou <phou>
Status: NEW --- Docs Contact:
Severity: high    
Priority: high CC: coli, jinzhao, juzhang, qizhu
Version: 9.0Keywords: CustomerScenariosInitiative, Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peixiu Hou 2022-05-13 10:40:31 UTC
Description of problem:
On win10-32 guest, hit BSOD when do system reboot during iozone test, 
encountered by automation, and QE only hit once so far. and sorry no dump file was saved.
Stop code: CRITICAL PROCESS DIED

The automation job name:
block_during_io.iozone_stress.data_disks.send_shell.with_reboot.

Version-Release number of selected component (if applicable):
kernel-5.14.0-70.13.1.el9_0.x86_64
qemu-kvm-6.2.0-11.el9_0.2.x86_64
seabios-bin-1.15.0-1.el9.noarch
virtio-win-prewhql-218


How reproducible:
randomly, not 100%(1/15)

Steps to Reproduce:
1. python3 ConfigTest.py --testcase=block_during_io.iozone_stress.data_disks.send_shell.with_reboot --guestname=Win10 --platform=i386 --clone=no --driveformat=virtio_scsi --machines=q35 --customsparams="cdrom_virtio = isos/windows/virtio-win-prewhql-0.1-218.iso\nnum_queues = 8" --vcpu=8 --mem=4096

2. qemu command line:
/usr/libexec/qemu-kvm \
    -S  \
    -name 'avocado-vt-vm1'  \
    -sandbox on  \
    -machine q35,memory-backend=mem-machine_mem \
    -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \
    -device pcie-pci-bridge,id=pcie-pci-bridge-0,addr=0x0,bus=pcie-root-port-0  \
    -nodefaults \
    -device VGA,bus=pcie.0,addr=0x2 \
    -m 4096 \
    -object memory-backend-ram,size=4096M,id=mem-machine_mem  \
    -smp 8,maxcpus=8,cores=4,threads=1,dies=1,sockets=2  \
    -cpu 'EPYC',hv_stimer,hv_synic,hv_vpindex,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_frequencies,hv_runtime,hv_tlbflush,hv_reenlightenment,hv_stimer_direct,hv_ipi,+kvm_pv_unhalt \
    -chardev socket,server=on,wait=off,path=/tmp/avocado_y2thyzpn/monitor-qmpmonitor1-20220507-061431-hPc4c4UL,id=qmp_id_qmpmonitor1  \
    -mon chardev=qmp_id_qmpmonitor1,mode=control \
    -chardev socket,server=on,wait=off,path=/tmp/avocado_y2thyzpn/monitor-catch_monitor-20220507-061431-hPc4c4UL,id=qmp_id_catch_monitor  \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=idOZbbT6 \
    -chardev socket,server=on,wait=off,path=/tmp/avocado_y2thyzpn/serial-serial0-20220507-061431-hPc4c4UL,id=chardev_serial0 \
    -device isa-serial,id=serial0,chardev=chardev_serial0  \
    -chardev socket,id=seabioslog_id_20220507-061431-hPc4c4UL,path=/tmp/avocado_y2thyzpn/seabios-20220507-061431-hPc4c4UL,server=on,wait=off \
    -device isa-debugcon,chardev=seabioslog_id_20220507-061431-hPc4c4UL,iobase=0x402 \
    -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x1.0x1,bus=pcie.0,chassis=2 \
    -device qemu-xhci,id=usb1,bus=pcie-root-port-1,addr=0x0 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
    -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x1.0x2,bus=pcie.0,chassis=3 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,num_queues=8,bus=pcie-root-port-2,addr=0x0 \
    -blockdev node-name=file_image1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/images/win10-32-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off \
    -blockdev node-name=drive_image1,driver=qcow2,read-only=off,cache.direct=on,cache.no-flush=off,file=file_image1 \
    -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \
    -blockdev node-name=file_stg,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/images/storage.qcow2,cache.direct=on,cache.no-flush=off \
    -blockdev node-name=drive_stg,driver=qcow2,read-only=off,cache.direct=on,cache.no-flush=off,file=file_stg \
    -device scsi-hd,id=stg,drive=drive_stg,write-cache=on,serial=TARGET_DISK0 \
    -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x1.0x3,bus=pcie.0,chassis=4 \
    -device virtio-net-pci,mac=9a:08:6a:e1:bc:6d,id=id2bT0dJ,netdev=idZ4SfT1,bus=pcie-root-port-3,addr=0x0  \
    -netdev tap,id=idZ4SfT1,vhost=on,vhostfd=21,fd=6 \
    -blockdev node-name=file_cd1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/iso/windows/winutils.iso,cache.direct=on,cache.no-flush=off \
    -blockdev node-name=drive_cd1,driver=raw,read-only=on,cache.direct=on,cache.no-flush=off,file=file_cd1 \
    -device scsi-cd,id=cd1,drive=drive_cd1,write-cache=on  \
    -vnc :0  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot menu=off,order=cdn,once=c,strict=off \
    -enable-kvm \
    -device pcie-root-port,id=pcie_extra_root_port_0,multifunction=on,bus=pcie.0,addr=0x3,chassis=5

3. format data disk and run iozone test on the disk:
D:\Iozone\iozone -azR -r 64k -n 1G -g 4G -M -i 0 -i 1 -I -f E:\testfile

Actual results:
BSOD

Expected results:
Passed

Additional info: