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

no response with QMP blockdev-change-medium

    • qemu-kvm-8.2.0-1.el9
    • Major
    • Regression, CustomerScenariosInitiative
    • sst_virtualization_storage
    • ssg_virtualization
    • 23
    • 25
    • 3
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • Red Hat Enterprise Linux
    • x86_64
    • Linux

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

      There is no response after execute QMP blockdev-change-medium

       

      Please provide the package NVR for which bug is seen:

      Red Hat Enterprise Linux release 9.4 Beta (Plow)
      5.14.0-392.el9.x86_64
      qemu-kvm-8.1.0-5.el9.x86_64
      seabios-bin-1.16.1-1.el9.noarch
      edk2-ovmf-20230524-4.el9_3.noarch
      libvirt-9.5.0-7.el9_3.x86_64
      virtio-win-prewhql-0.1-240.iso

       

      How reproducible:

      < 10% manually

      >30 automation

      Steps to reproduce
      1. create iso
      dd if=/dev/urandom of=/tmp/orig.dat bs=1M count=100
      mkisofs -o /home/kvm_autotest_root/images/orig.iso /tmp/orig.dat

      2.boot vm

       

      // code placeholder
      /usr/libexec/qemu-kvm \
           -name 'avocado-vt-vm1'  \
           -sandbox on \
           -machine pc  \
           -nodefaults \
           -device '{"driver": "VGA", "bus": "pci.0", "addr": "0x2"}' \
           -m 8G \
           -smp 10,maxcpus=10,cores=5,threads=1,dies=1,sockets=2  \
           -cpu 'Cascadelake-Server-noTSX',+kvm_pv_unhalt \
           -device '{"driver": "ich9-usb-ehci1", "id": "usb1", "addr": "0x1d.0x7", "multifunction": true, "bus": "pci.0"}' \
           -device '{"driver": "ich9-usb-uhci1", "id": "usb1.0", "multifunction": true, "masterbus": "usb1.0", "addr": "0x1d.0x0", "firstport": 0, "bus": "pci.0"}' \
           -device '{"driver": "ich9-usb-uhci2", "id": "usb1.1", "multifunction": true, "masterbus": "usb1.0", "addr": "0x1d.0x2", "firstport": 2, "bus": "pci.0"}' \
           -device '{"driver": "ich9-usb-uhci3", "id": "usb1.2", "multifunction": true, "masterbus": "usb1.0", "addr": "0x1d.0x4", "firstport": 4, "bus": "pci.0"}' \
           -device '{"driver": "usb-tablet", "id": "usb-tablet1", "bus": "usb1.0", "port": "1"}' \
           -object '{"qom-type": "iothread", "id": "iothread0"}' \
           -object '{"qom-type": "iothread", "id": "iothread1"}' \
           -device '{"id": "virtio_scsi_pci0", "driver": "virtio-scsi-pci", "bus": "pci.0", "addr": "0x3", "iothread": "iothread0"}' \
           -blockdev '{"node-name": "file_image1", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/rhel940-64-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 '{"driver": "virtio-net-pci", "mac": "9a:6a:03:9d:ca:d2", "id": "idum7zWo", "netdev": "id3PWiy2", "bus": "pci.0", "addr": "0x4"}' \
           -netdev  '{"id": "id3PWiy2", "type": "tap", "vhost": true}' \
           -blockdev '{"node-name": "null-co_none", "driver": "null-co", "auto-read-only": true, "discard": "unmap"}' \
           -blockdev '{"node-name": "drive_none", "driver": "raw", "read-only": true, "file": "null-co_none"}' \
           -device '{"driver": "scsi-cd", "id": "none", "drive": "drive_none"}'  \
           -vnc :5 \
           -monitor stdio \
           -qmp tcp:0:5955,server=on,wait=off \
           -boot menu=on,reboot-timeout=1000,strict=off \
           \
           -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 \
           \
       

      3. execute QMP command 

      // code placeholder
      {"execute": "blockdev-change-medium", "arguments": {"id": "none", "filename": "/home/kvm_autotest_root/images/orig.iso", "force": true}, "id": "1rnPXCAn"}
       

       

      Expected results

      change cd-rom media

      Actual results

      Can not get QMP return

       

      hang on:

      (gdb) bt
      #0  0x00007f3f31b429be in ppoll () at /lib64/libc.so.6
      #1  0x00005644ee4af362 in qemu_poll_ns (fds=0x5644efa5aa50, timeout=-1, nfds=<optimized out>) at ../util/qemu-timer.c:339
      #2  fdmon_poll_wait (ctx=0x5644efae7260, ready_list=0x7f3f30b28f10, timeout=-1) at ../util/fdmon-poll.c:79
      #3  0x00005644ee4ae8d3 in aio_poll (ctx=0x5644efae7260, blocking=<optimized out>) at ../util/aio-posix.c:670
      #4  0x00005644ee2e5fb1 in bdrv_graph_wrlock (bs=0x0) at ../block/graph-lock.c:145
      #5  0x00005644ee2acbdb in bdrv_replace_child_noperm (child=0x5644f0b839c0, new_bs=0x0) at ../block.c:2897
      #6  0x00005644ee2acaa1 in bdrv_root_unref_child (child=0x5644f0b839c0) at ../block.c:3227
      #7  0x00005644edfef0d3 in blockdev_remove_medium (device=<optimized out>, id=<optimized out>, errp=0x7f3f30b28f30)
          at ../block/qapi-sysemu.c:212
      #8  0x00005644edfef70c in qmp_blockdev_change_medium
          (device=0x0, id=0x5644efca4ea0 "none", filename=0x5644efc81d70 "/home/kvm_autotest_root/images/orig.iso", format=0x0, has_force=<optimized out>, force=true, has_read_only=<optimized out>, read_only=<optimized out>, errp=<optimized out>)
          at ../block/qapi-sysemu.c:381
      #9  0x00005644ee37cd89 in qmp_marshal_blockdev_change_medium (args=0x7f3790006620, ret=<optimized out>, errp=0x7f3f2f224fa0)
          at qapi/qapi-commands-block.c:325
      #10 0x00005644ee4a1ebf in do_qmp_dispatch_bh (opaque=0x7f3f2f224fa8) at ../qapi/qmp-dispatch.c:128
      #11 0x00005644ee4ca1c1 in aio_bh_call (bh=0x7f3790004e30) at ../util/async.c:169
      #12 aio_bh_poll (ctx=0x5644efae7260) at ../util/async.c:216
      #13 0x00005644ee4addd4 in aio_dispatch (ctx=0x5644efae7260) at ../util/aio-posix.c:423
      #14 0x00005644ee4cb60f in aio_ctx_dispatch (source=0x5644efa5aa50, callback=0x1, user_data=<optimized out>) at ../util/async.c:358
      #15 0x00007f3f31f46f4f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
      #16 0x00005644ee4cc56e in glib_pollfds_poll () at ../util/main-loop.c:2

       

      Not hit this issue on 

      qemu-kvm-8.0.0-16.el9_3.1.x86_64

            kwolf@redhat.com Kevin Wolf
            qingwangrh qing wang
            virt-maint virt-maint
            qing wang qing wang
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: