Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-54690

[virtio-win][vioscsi] Win10-32&WS2022 hang when do cdrom unplug

    • Yes
    • Important
    • CustomerScenariosInitiative
    • rhel-sst-virtualization-windows
    • ssg_virtualization
    • None
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Red Hat Enterprise Linux
    • None
    • Unspecified Release Note Type - Unknown
    • x86_64
    • None

      What were you trying to do that didn't work?

      Win10-32 guest will hang when do cdrom unplug.
      After do "{"execute": "device_del", "arguments":

      {"id": "cd2"}

      , "id": "dDjraxMd"}" in qmp monitor, the vm hang.

      Please provide the package NVR for which bug is seen:
      kernel-5.14.0-472.el9.x86_64
      qemu-kvm-9.0.0-5.el9.x86_64
      virtio-win-prewhql-259
      edk2-ovmf-20240524-1.el9.noarch

      How reproducible:
      100%

      Steps to reproduce
      1.Boot Win10-32 guest up.
      """
      usr/libexec/qemu-kvm \
      -name 'avocado-vt-vm1' \
      -machine q35,memory-backend=mem-machine_mem \
      -device '

      {"id": "pcie-root-port-0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x1", "chassis": 1}

      ' \
      -device '

      {"id": "pcie-pci-bridge-0", "driver": "pcie-pci-bridge", "addr": "0x0", "bus": "pcie-root-port-0"}

      ' \
      -nodefaults \
      -device '

      {"driver": "VGA", "bus": "pcie.0", "addr": "0x2"}

      ' \
      -m 4096 \
      -object '

      {"size": 4294967296, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}

      ' \
      -smp 12,maxcpus=12,cores=6,threads=1,dies=1,sockets=2 \
      -cpu 'EPYC',lm=off,pae=on,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,hv-xmm-input,hv_tlbflush_ext,+kvm_pv_unhalt \
      -chardev socket,path=/var/tmp/monitor-qmpmonitor1-20240815-063943-Vzp4KPNx,id=qmp_id_qmpmonitor1,server=on,wait=off \
      -mon chardev=qmp_id_qmpmonitor1,mode=control \
      -chardev socket,path=/var/tmp/monitor-catch_monitor-20240815-063943-Vzp4KPNx,id=qmp_id_catch_monitor,server=on,wait=off \
      -mon chardev=qmp_id_catch_monitor,mode=control \
      -device '

      {"ioport": 1285, "driver": "pvpanic", "id": "id8mF4GO"}

      ' \
      -chardev socket,path=/var/tmp/serial-serial0-20240815-063943-Vzp4KPNx,id=chardev_serial0,server=on,wait=off \
      -device '

      {"id": "serial0", "driver": "isa-serial", "chardev": "chardev_serial0"}

      ' \
      -chardev socket,id=seabioslog_id_20240815-063943-Vzp4KPNx,path=/var/tmp/seabios-20240815-063943-Vzp4KPNx,server=on,wait=off \
      -device isa-debugcon,chardev=seabioslog_id_20240815-063943-Vzp4KPNx,iobase=0x402 \
      -device '

      {"id": "pcie-root-port-1", "port": 1, "driver": "pcie-root-port", "addr": "0x1.0x1", "bus": "pcie.0", "chassis": 2}

      ' \
      -device '

      {"driver": "qemu-xhci", "id": "usb1", "bus": "pcie-root-port-1", "addr": "0x0"}

      ' \
      -device '

      {"driver": "usb-tablet", "id": "usb-tablet1", "bus": "usb1.0", "port": "1"}

      ' \
      -device '

      {"id": "pcie-root-port-2", "port": 2, "driver": "pcie-root-port", "addr": "0x1.0x2", "bus": "pcie.0", "chassis": 3}

      ' \
      -device '

      {"id": "virtio_scsi_pci0", "driver": "virtio-scsi-pci", "num_queues": 12, "bus": "pcie-root-port-2", "addr": "0x0"}

      ' \
      -blockdev '{"node-name": "file_image1", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/win10-32-virtio-scsi.qcow2", "cache": {"direct": true, "no-flush": false}}' \
      -blockdev '{"node-name": "drive_image1", "driver": "qcow2", "read-only": false, "cache":

      {"direct": true, "no-flush": false}

      , "file": "file_image1"}' \
      -device '

      {"driver": "scsi-hd", "id": "image1", "drive": "drive_image1", "write-cache": "on"}

      ' \
      -device '

      {"id": "pcie-root-port-3", "port": 3, "driver": "pcie-root-port", "addr": "0x1.0x3", "bus": "pcie.0", "chassis": 4}

      ' \
      -device '

      {"driver": "virtio-net-pci", "mac": "9a:d1:17:05:33:a1", "id": "idRDFa9E", "netdev": "id7rHrHM", "bus": "pcie-root-port-3", "addr": "0x0"}

      ' \
      -netdev '

      {"id": "id7rHrHM", "type": "tap", "vhost": true}

      ' \
      -blockdev '{"node-name": "file_cd2", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/iso/windows/virtio-win-1.9.10-0.el8.iso", "cache": {"direct": true, "no-flush": false}}' \
      -blockdev '{"node-name": "drive_cd2", "driver": "raw", "read-only": true, "cache":

      {"direct": true, "no-flush": false}

      , "file": "file_cd2"}' \
      -device '

      {"driver": "scsi-cd", "id": "cd2", "drive": "drive_cd2", "write-cache": "on"}

      ' \
      -vnc :0 \
      -rtc base=localtime,clock=host,driftfix=slew \
      -boot menu=off,order=cdn,once=c,strict=off \
      -enable-kvm \
      -device vmcoreinfo \
      -monitor stdio \
      -device '

      {"id": "pcie_extra_root_port_0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x3", "chassis": 5}

      '
      """
      2. Hot-unplug cdrom via qmp monitor:
      3. Check the vm status

      Expected results
      cdrom was unplugged successfully, and guest no hang

      Actual results
      Guest hang

              rhn-support-vrozenfe Vadim Rozenfeld
              rhn-support-phou Peixiu Hou
              Meirav Dean Meirav Dean
              Peixiu Hou Peixiu Hou
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: