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

Qemu hang when quit dst vm after storage migration(nbd+tls)

    • qemu-kvm-9.0.0-4.el9
    • Major
    • ZStream, Regression, CustomerScenariosInitiative
    • sst_virtualization_storage
    • ssg_virtualization
    • 10
    • 18
    • 5
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Red Hat Enterprise Linux
    • None
    • Approved Blocker
    • Known Issue
    • Hide
      .Using NBD to migrate a VM storage over a TLS connection does not work correctly

      Currently, when migrating a virtual machine (VM) and its storage device by using the Network Block Device (NBD) protocol over a TLS connection, a data race in the TLS handshake might make the migration appear to be successful. However, it causes the QEMU process on the destination VM to become unresponsive to further interactions.

      If you can trust your network, you can work around this problem by using plaintext rather than TLS connections for the NBD protocol, which is used during the VM storage migration.
      Show
      .Using NBD to migrate a VM storage over a TLS connection does not work correctly Currently, when migrating a virtual machine (VM) and its storage device by using the Network Block Device (NBD) protocol over a TLS connection, a data race in the TLS handshake might make the migration appear to be successful. However, it causes the QEMU process on the destination VM to become unresponsive to further interactions. If you can trust your network, you can work around this problem by using plaintext rather than TLS connections for the NBD protocol, which is used during the VM storage migration.
    • Done
    • x86_64
    • Unspecified
    • None

      What were you trying to do that didn't work?
      Qemu hang when quit dst vm after storage migration(nbd+tls)

      Please provide the package NVR for which bug is seen:
      kernel version: 5.14.0-427.4.1.el9_4.x86_64
      qemu-kvm version: qemu-kvm-8.2.0-9.el9_4

      How reproducible:
      100%

      Steps to reproduce

      Create tls env before test: 

      a. on both server and client, create tls dir for qemu
      (server)# mkdir -p /etc/pki/qemu
      (client)# mkdir -p /etc/pki/qemu
      
      b. Create keys/cert on server
      #cd /etc/pki/qemu
      #certtool --generate-privkey > ca-key.pem
      #cat ca.tmpl
      cn = $hostname_server
      ca
      cert_signing_key
      # certtool --generate-self-signed --load-privkey ca-key.pem --template /root/ca.tmpl --outfile ca-cert.pem
      
      # certtool --generate-privkey > server-key.pem
      #cat server.tmpl
       organization = GnuTLS test server
       cn = $hostname_server
       tls_www_server
       encryption_key
       signing_key
       dns_name = dell-per440-08
       ip_address = 10.72.140.36
      #certtool --generate-certificate --load-privkey server-key.pem --load-ca-certificate x509-ca.pem --load-ca-privkey ca-key.pem --template server.tmpl --outfile server-cert.pem
      #scp ca-cert.pem ca-key.pem root@$ip_client:/etc/pki/qemu
      
      c.Create keys/cert in client
      #cd /etc/pki/qemu
      #certtool --generate-privkey > client-key.pem
      #cat client.tpml
      cn = $hostname_server
      tls_www_client
      encryption_key
      signing_key
      ip_address = $ip_server
      dns_name = $shortname_server
      #certtool --generate-certificate --load-privkey client-key.pem --load-ca-certificate x509-ca.pem --load-ca-privkey ca-key.pem --template client.tmpl --outfile client-cert.pem

       
      1. Start guest with qemu cmdline: 

         /usr/libexec/qemu-kvm \
          -name 'avocado-vt-vm1'  \
          -sandbox on \
          -blockdev '{"node-name": "file_ovmf_code", "driver": "file", "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", "auto-read-only": true, "discard": "unmap"}' \
          -blockdev '{"node-name": "drive_ovmf_code", "driver": "raw", "read-only": true, "file": "file_ovmf_code"}' \
          -blockdev '{"node-name": "file_ovmf_vars", "driver": "file", "filename": "/root/avocado/data/avocado-vt/avocado-vt-vm1_rhel940-64-virtio-scsi-ovmf_qcow2_filesystem_VARS.raw", "auto-read-only": true, "discard": "unmap"}' \
          -blockdev '{"node-name": "drive_ovmf_vars", "driver": "raw", "read-only": false, "file": "file_ovmf_vars"}' \
          -machine q35,pflash0=drive_ovmf_code,pflash1=drive_ovmf_vars,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 30720 \
          -object '{"size": 32212254720, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}'  \
          -smp 12,maxcpus=12,cores=6,threads=1,dies=1,sockets=2  \
          -cpu 'Skylake-Server',+kvm_pv_unhalt \
          -chardev socket,wait=off,id=qmp_id_qmpmonitor1,server=on,path=/var/tmp/monitor-qmpmonitor1-20240416-040655-rmSISNqG  \
          -mon chardev=qmp_id_qmpmonitor1,mode=control \
          -chardev socket,wait=off,id=qmp_id_catch_monitor,server=on,path=/var/tmp/monitor-catch_monitor-20240416-040655-rmSISNqG  \
          -mon chardev=qmp_id_catch_monitor,mode=control \
          -device '{"ioport": 1285, "driver": "pvpanic", "id": "id9OYZde"}' \
          -chardev socket,wait=off,id=chardev_serial0,server=on,path=/var/tmp/serial-serial0-20240416-040655-rmSISNqG \
          -device '{"id": "serial0", "driver": "isa-serial", "chardev": "chardev_serial0"}'  \
          -chardev socket,id=seabioslog_id_20240416-040655-rmSISNqG,path=/var/tmp/seabios-20240416-040655-rmSISNqG,server=on,wait=off \
          -device isa-debugcon,chardev=seabioslog_id_20240416-040655-rmSISNqG,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}' \
          -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-ovmf.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": "virtio-blk-pci", "bus": "pcie-root-port-2", "addr": "0x0", "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:2c:e1:19:8a:18", "id": "idRfrA5w", "netdev": "idjCMPUf", "bus": "pcie-root-port-3", "addr": "0x0"}' \
          -netdev  '{"id": "idjCMPUf", "type": "tap", "vhost": true}'  \
          -vnc :0  \
          -rtc base=utc,clock=host,driftfix=slew  \
          -boot menu=off,order=cdn,once=c,strict=off \
          -enable-kvm \
          -device '{"id": "pcie_extra_root_port_0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x3", "chassis": 11}' \
          -monitor stdio \

      2. Start dst guest with similar cmdline and -incoming defer 

        /usr/libexec/qemu-kvm \
          -name 'avocado-vt-vm1'  \
          -sandbox on \
          -blockdev '{"node-name": "file_ovmf_code", "driver": "file", "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", "auto-read-only": true, "discard": "unmap"}' \
          -blockdev '{"node-name": "drive_ovmf_code", "driver": "raw", "read-only": true, "file": "file_ovmf_code"}' \
          -blockdev '{"node-name": "file_ovmf_vars", "driver": "file", "filename": "/root/avocado/data/avocado-vt/avocado-vt-vm1_rhel940-64-virtio-scsi-ovmf_qcow2_filesystem_VARS.raw", "auto-read-only": true, "discard": "unmap"}' \
          -blockdev '{"node-name": "drive_ovmf_vars", "driver": "raw", "read-only": false, "file": "file_ovmf_vars"}' \
          -machine q35,pflash0=drive_ovmf_code,pflash1=drive_ovmf_vars,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 30720 \
          -object '{"size": 32212254720, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}'  \
          -smp 12,maxcpus=12,cores=6,threads=1,dies=1,sockets=2  \
          -cpu 'Skylake-Server',+kvm_pv_unhalt \
          -chardev socket,wait=off,id=qmp_id_qmpmonitor1,server=on,path=/var/tmp/monitor-qmpmonitor1-20240416-040655-rmSISNqG  \
          -mon chardev=qmp_id_qmpmonitor1,mode=control \
          -chardev socket,wait=off,id=qmp_id_catch_monitor,server=on,path=/var/tmp/monitor-catch_monitor-20240416-040655-rmSISNqG  \
          -mon chardev=qmp_id_catch_monitor,mode=control \
          -device '{"ioport": 1285, "driver": "pvpanic", "id": "id9OYZde"}' \
          -chardev socket,wait=off,id=chardev_serial0,server=on,path=/var/tmp/serial-serial0-20240416-040655-rmSISNqG \
          -device '{"id": "serial0", "driver": "isa-serial", "chardev": "chardev_serial0"}'  \
          -chardev socket,id=seabioslog_id_20240416-040655-rmSISNqG,path=/var/tmp/seabios-20240416-040655-rmSISNqG,server=on,wait=off \
          -device isa-debugcon,chardev=seabioslog_id_20240416-040655-rmSISNqG,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}' \
          -blockdev '{"node-name": "file_image1", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/mirror.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": "virtio-blk-pci", "bus": "pcie-root-port-2", "addr": "0x0", "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:2c:e1:19:8a:18", "id": "idRfrA5w", "netdev": "idjCMPUf", "bus": "pcie-root-port-3", "addr": "0x0"}' \
          -netdev  '{"id": "idjCMPUf", "type": "tap", "vhost": true}'  \
          -vnc :0  \
          -rtc base=utc,clock=host,driftfix=slew  \
          -boot menu=off,order=cdn,once=c,strict=off \
          -enable-kvm \
          -device '{"id": "pcie_extra_root_port_0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x3", "chassis": 11}' \
          -monitor stdio \

          -incoming defer \

      3.  In dst, add tls creds, start nbd server and expose image 

      {"execute": "object-add", "arguments": {"qom-type": "tls-creds-x509", "id": "tls0", "dir": "/etc/pki/qemu", "endpoint": "server", "verify-peer": true}, "id": "ZLsQepWJ"}
      {"execute": "nbd-server-start", "arguments": {"addr": {"type": "inet", "data": {"host": "$ip_dst", "port": "3333"}}, "tls-creds": "tls0"}, "id": "HuJrJqKc"}
      {"execute":"block-export-add","arguments":{"id": "export0", "node-name": "drive_image1", "type": "nbd", "writable": true}} 

      4. In src, add tls creds, add target node and start mirror from src to dst 

      {"execute":"object-add","arguments":{"qom-type":"tls-creds-x509","id":"tls0","dir":"/etc/pki/qemu","endpoint":"client","verify-peer":true}}
      {"execute":"blockdev-add","arguments":{"driver":"nbd","server":{"type":"inet","host":"$ip_dst","port":"3333"},"export":"drive_image1","tls-creds":"tls0","tls-hostname":"dell-per440-08","node-name":"migration-0","read-only":false,"discard":"unmap"}}
      {"execute":"blockdev-mirror","arguments":{"job-id":"j0","device":"drive_image1","target":"migration-0","sync":"full"}} 

      5. After mirror job reach ready status, set migration capabilities in both src and dst. 

      For src:
      {"execute": "migrate-set-parameters", "arguments": {"tls-creds": "tls0"}, "id": "X4NuslWN"}
      {"execute":"migrate-set-capabilities","arguments":{"capabilities":[{"capability":"events","state":true},{"capability":"pause-before-switchover","state":true}]}}
      
      For dst:
      {"execute":"migrate-set-capabilities","arguments":{"capabilities":[{"capability":"events","state":true},{"capability":"late-block-activate","state":true}]}}
      {"execute": "migrate-incoming","arguments": {"uri": "tcp:[::]:5000"}}{"return": {}}{"timestamp": {"seconds": 1713498636, "microseconds": 986768}, "event": "MIGRATION", "data": {"status": "setup"}}
      {"execute": "migrate-set-parameters", "arguments": {"tls-creds": "tls0"}, "id": "X4NuslWN"}

      6. In src, migrate from src to dst 

      {"execute": "migrate","arguments":{"uri": "tcp:$ip_dst:5000"}} 

      7.  After migration reach pre-switchover status, cancel mirror jobs 

      {"execute":"block-job-cancel","arguments":{"device":"j0"}} 

      8. Continue migration. 

      {"execute":"migrate-continue","arguments":{"state":"pre-switchover"}} 

      9. Check vm status in dst 

      (qemu) info vm 

       VM status: running 

      10. Quit vm 

      (qemu) quit  

      Expected results
        Dst vm can quit successfully.

      Actual results
       After step10, vm hang with gdb info: 

      (gdb)
      #0  0x00007fbb2d701afe in __ppoll (fds=0x7fbb2c6aafb0, nfds=1, timeout=<optimized out>, sigmask=0x0)
          at ../sysdeps/unix/sysv/linux/ppoll.c:43
      #1  0x00005648184082a1 in qemu_poll_ns (nfds=1, timeout=<optimized out>, fds=<optimized out>) at ../util/qemu-timer.c:351
      #2  fdmon_epoll_wait (ctx=0x56481b0a2090, ready_list=0x7fbb2c6aafe0, timeout=<optimized out>) at ../util/fdmon-epoll.c:68
      #3  0x0000564818407b82 in fdmon_poll_wait (ctx=0x56481b0a2090, ready_list=0x7fbb2c6aafe0, timeout=572574783480) at ../util/fdmon-poll.c:76
      #4  0x0000564818407163 in aio_poll (ctx=0x56481b0a2090, blocking=<optimized out>) at ../util/aio-posix.c:670
      #5  0x00005648181e2a62 in blk_exp_close_all_type (type=BLOCK_EXPORT_TYPE__MAX) at ../block/export/export.c:295
      #6  0x0000564817f4d056 in blk_exp_close_all () at ../block/export/export.c:300
      #7  qemu_cleanup (status=<optimized out>) at ../system/runstate.c:853
      #8  0x0000564817d8ddc3 in qemu_default_main () at ../system/main.c:38
      #9  0x00007fbb2d629590 in __libc_start_call_main (main=main@entry=
          0x564817d8ddd0 <main>, argc=argc@entry=129, argv=argv@entry=0x7ffda82feac8) at ../sysdeps/nptl/libc_start_call_main.h:58
      #10 0x00007fbb2d629640 in __libc_start_main_impl (main=
          0x564817d8ddd0 <main>, argc=129, argv=0x7ffda82feac8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffda82feab8) at ../csu/libc-start.c:389
      #11 0x0000564817d8d4d5 in _start () 

       

      Pstack info as bellow: 

      Thread 16 (Thread 0x7f8423fff640 (LWP 373862) "qemu-kvm"):
      #0  0x00007f8bf168679a in __futex_abstimed_wait_common () at /lib64/libc.so.6
      #1  0x00007f8bf1688fa0 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libc.so.6
      #2  0x000055fdbdc33e76 in qemu_cond_wait_impl ()
      #3  0x000055fdbd5f3f06 in vnc_worker_thread.llvm ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 15 (Thread 0x7f842affd640 (LWP 373854) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 14 (Thread 0x7f842bfff640 (LWP 373853) "qemu-kvm"):
      #0  0x00007f8bf1686960 in __lll_lock_wait () at /lib64/libc.so.6
      #1  0x00007f8bf168cff2 in pthread_mutex_lock@@GLIBC_2.2.5 () at /lib64/libc.so.6
      #2  0x000055fdbdc33926 in qemu_mutex_lock_impl ()
      #3  0x000055fdbd964729 in flatview_write_continue.llvm ()
      #4  0x000055fdbd960bdf in flatview_write.llvm ()
      #5  0x000055fdbd960a4f in address_space_write ()
      #6  0x000055fdbd9b6768 in kvm_cpu_exec ()
      #7  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #8  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #9  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #10 0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 13 (Thread 0x7f843d7fa640 (LWP 373852) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 12 (Thread 0x7f843e7fc640 (LWP 373851) "qemu-kvm"):
      #0  0x00007f8bf1686960 in __lll_lock_wait () at /lib64/libc.so.6
      #1  0x00007f8bf168cff2 in pthread_mutex_lock@@GLIBC_2.2.5 () at /lib64/libc.so.6
      #2  0x000055fdbdc33926 in qemu_mutex_lock_impl ()
      #3  0x000055fdbd96029b in flatview_read_continue ()
      #4  0x000055fdbd96085f in flatview_read.llvm ()
      #5  0x000055fdbd9606cf in address_space_read_full ()
      #6  0x000055fdbd9b6665 in kvm_cpu_exec ()
      #7  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #8  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #9  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #10 0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 11 (Thread 0x7f843f7fe640 (LWP 373849) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 10 (Thread 0x7f844cff9640 (LWP 373848) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 9 (Thread 0x7f844dffb640 (LWP 373847) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 8 (Thread 0x7f844effd640 (LWP 373845) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 7 (Thread 0x7f844ffff640 (LWP 373844) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 6 (Thread 0x7f845d5fa640 (LWP 373843) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 5 (Thread 0x7f845e5fc640 (LWP 373842) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 4 (Thread 0x7f845f5fe640 (LWP 373837) "qemu-kvm"):
      #0  0x00007f8bf170357b in ioctl () at /lib64/libc.so.6
      #1  0x000055fdbd9b3217 in kvm_vcpu_ioctl ()
      #2  0x000055fdbd9b65d1 in kvm_cpu_exec ()
      #3  0x000055fdbd9bd52a in kvm_vcpu_thread_fn ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 3 (Thread 0x7f8bec8a1640 (LWP 373836) "qemu-kvm"):
      #0  0x00007f8bf17019ff in poll () at /lib64/libc.so.6
      #1  0x00007f8bf1b991fc in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
      #2  0x00007f8bf1b435a3 in g_main_loop_run () at /lib64/libglib-2.0.so.0
      #3  0x000055fdbda1940f in iothread_run ()
      #4  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #5  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #6  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 2 (Thread 0x7f8bef7d1640 (LWP 373825) "qemu-kvm"):
      #0  0x00007f8bf170713d in syscall () at /lib64/libc.so.6
      #1  0x000055fdbdc345ef in qemu_event_wait ()
      #2  0x000055fdbdc42a19 in call_rcu_thread ()
      #3  0x000055fdbdc3488a in qemu_thread_start.llvm ()
      #4  0x00007f8bf1689c02 in start_thread () at /lib64/libc.so.6
      #5  0x00007f8bf170ec40 in clone3 () at /lib64/libc.so.6
      Thread 1 (Thread 0x7f8bf102cf80 (LWP 373824) "qemu-kvm"):
      #0  0x00007f8bf1701afe in ppoll () at /lib64/libc.so.6
      #1  0x000055fdbdc312a1 in fdmon_epoll_wait.llvm ()
      #2  0x000055fdbdc30163 in aio_poll ()
      #3  0x000055fdbda0ba62 in blk_exp_close_all_type ()
      #4  0x000055fdbd776056 in qemu_cleanup ()
      #5  0x000055fdbd5b6dc3 in qemu_default_main ()
      #6  0x00007f8bf1629590 in __libc_start_call_main () at /lib64/libc.so.6
      #7  0x00007f8bf1629640 in __libc_start_main_impl () at /lib64/libc.so.6
      #8  0x000055fdbd5b64d5 in _start () 

       

      Note:

        A regression issue since Qemu-kvm-8.2.0-1.el9, works well with Qemu-kvm-8.1.0-5.el9.

        It works well without tls.

            eblake_redhat Eric Blake
            aliang@redhat.com Aihua Liang
            virt-maint virt-maint
            Aihua Liang Aihua Liang
            Daniel Vozenilek Daniel Vozenilek
            Votes:
            0 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated: