On Thu, Sep 17, 2020 at 03:36:57PM +0800, Zhenyu Ye wrote: > When the hang occurs, the QEMU is blocked at: > > #0 0x0000ffff95762b64 in ?? () from target:/usr/lib64/libpthread.so.0 > #1 0x0000ffff9575bd88 in pthread_mutex_lock () from target:/usr/lib64/libpthread.so.0 > #2 0x0000aaaabb1f5948 in qemu_mutex_lock_impl (mutex=0xaaaacc8e1860, > file=0xaaaabb4e1bd0 "/Images/eillon/CODE/5-opensource/qemu/util/async.c", line=605) > #3 0x0000aaaabb20acd4 in aio_context_acquire (ctx=0xaaaacc8e1800) > #4 0x0000aaaabb105e90 in bdrv_query_image_info (bs=0xaaaacc934620, > p_info=0xaaaaccc41e18, errp=0xffffca669118) > #5 0x0000aaaabb105968 in bdrv_block_device_info (blk=0xaaaacdca19f0, bs=0xaaaacc934620, > flat=false, errp=0xffffca6692b8) > #6 0x0000aaaabb1063dc in bdrv_query_info (blk=0xaaaacdca19f0, p_info=0xaaaacd29c9a8, > errp=0xffffca6692b8) > #7 0x0000aaaabb106c14 in qmp_query_block (errp=0x0) > #8 0x0000aaaabacb8e6c in hmp_info_block (mon=0xffffca6693d0, qdict=0xaaaacd089790) Great, this shows that the main loop thread is stuck waiting for the AioContext lock. Please post backtraces from all QEMU threads ((gdb) thread apply all bt) so we can figure out which thread is holding up the main loop. Thanks, Stefan