Hi All, When enabling virtio disk and virtio net on Xen, I could see qemu blk assert and being killed sometimes, This is not 100% reproducible. I am using qemu master branch
7425b6277f12e82952cede1f531bfc689bf77fb1 (HEAD -> dummy, origin/staging, origin/master, origin/HEAD, master) Merge tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu into staging The qemu built option is the one in xen tool/Makefile, I just change to qemu-system-aarch64. Anyone has suggestions? The coredump stack: Symbols already loaded for /usr/lib/libc.so.6 (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x0000ffff9e100568 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x0000ffff9e0bacd0 in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/posix/raise.c:26 #3 0x0000ffff9e0a6ef0 in __GI_abort () at abort.c:79 #4 0x0000ffff9e0b43f8 in __assert_fail_base ( fmt=0xffff9e1ca8a8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xaaaae0d25740 "!qemu_in_coroutine()", file=file@entry=0xaaaae0d301a8 "../qemu-xen-dir-remote/block/graph-lock.c", line=line@entry=260, function=function@entry=0xaaaae0e522c0 <__PRETTY_FUNCTION__.3> "bdrv_graph_rdlock_main_loop") at assert.c:92 #5 0x0000ffff9e0b4470 in __assert_fail ( assertion=assertion@entry=0xaaaae0d25740 "!qemu_in_coroutine()", file=file@entry=0xaaaae0d301a8 "../qemu-xen-dir-remote/block/graph-lock.c", line=line@entry=260, function=function@entry=0xaaaae0e522c0 <__PRETTY_FUNCTION__.3> "bdrv_graph_rdlock_main_loop") at assert.c:101 #6 0x0000aaaae0a66a60 in bdrv_graph_rdlock_main_loop () at ../qemu-xen-dir-remote/block/graph-lock.c:260 #7 0x0000aaaae0a6d9e0 in graph_lockable_auto_lock_mainloop (x=<optimized out>) --Type <RET> for more, q to quit, c to continue without paging-- at /home/Freenix/work/sw-stash/xen/upstream/tools/qemu-xen-dir-remote/include/block/graph-lock.h:259 #8 bdrv_unregister_buf (bs=bs@entry=0xaaaaf619d5a0, host=host@entry=0xffff742c8000, size=size@entry=2097152) at ../qemu-xen-dir-remote/block/io.c:3362 #9 0x0000aaaae0a5ddd4 in blk_unregister_buf (blk=<optimized out>, host=0xffff742c8000, size=2097152) at ../qemu-xen-dir-remote/block/block-backend.c:2859 #10 0x0000aaaae060aab4 in ram_block_removed (n=<optimized out>, host=<optimized out>, size=<optimized out>, max_size=<optimized out>) at ../qemu-xen-dir-remote/block/block-ram-registrar.c:33 #11 0x0000aaaae0399318 in ram_block_notify_remove (host=0xffff742c8000, size=2097152, max_size=2097152) at ../qemu-xen-dir-remote/hw/core/numa.c:883 #12 0x0000aaaae097cf84 in xen_invalidate_map_cache_entry_unlocked ( buffer=buffer@entry=0xffff743c5000 "") at ../qemu-xen-dir-remote/hw/xen/xen-mapcache.c:475 #13 0x0000aaaae097dad0 in xen_invalidate_map_cache_entry ( buffer=buffer@entry=0xffff743c5000 "") at ../qemu-xen-dir-remote/hw/xen/xen-mapcache.c:487 #14 0x0000aaaae0993e18 in address_space_unmap ( as=as@entry=0xaaaae1ca3ae8 <address_space_memory>, buffer=0xffff743c5000, len=<optimized out>, is_write=is_write@entry=true, --Type <RET> for more, q to quit, c to continue without paging-- access_len=access_len@entry=32768) at ../qemu-xen-dir-remote/system/physmem.c:3199 #15 0x0000aaaae095cc9c in dma_memory_unmap (access_len=32768, dir=DMA_DIRECTION_FROM_DEVICE, len=<optimized out>, buffer=<optimized out>, as=0xaaaae1ca3ae8 <address_space_memory>) at /home/Freenix/work/sw-stash/xen/upstream/tools/qemu-xen-dir-remote/include/sysemu/dma.h:236 #16 virtqueue_unmap_sg (vq=vq@entry=0xffff965cc010, elem=elem@entry=0xaaaaf620aa30, len=len@entry=32769) at ../qemu-xen-dir-remote/hw/virtio/virtio.c:758 #17 0x0000aaaae095efa4 in virtqueue_fill (vq=vq@entry=0xffff965cc010, elem=elem@entry=0xaaaaf620aa30, len=len@entry=32769, idx=idx@entry=0) at ../qemu-xen-dir-remote/hw/virtio/virtio.c:919 #18 0x0000aaaae095f0b8 in virtqueue_push (vq=0xffff965cc010, elem=elem@entry=0xaaaaf620aa30, len=32769) at ../qemu-xen-dir-remote/hw/virtio/virtio.c:994 #19 0x0000aaaae091a608 in virtio_blk_req_complete ( req=req@entry=0xaaaaf620aa30, status=status@entry=0 '\000') at ../qemu-xen-dir-remote/hw/block/virtio-blk.c:67 #20 0x0000aaaae091bdc8 in virtio_blk_rw_complete (opaque=<optimized out>, ret=0) at ../qemu-xen-dir-remote/hw/block/virtio-blk.c:136 #21 0x0000aaaae0a5a938 in blk_aio_complete (acb=acb@entry=0xffff880015f0) at ../qemu-xen-dir-remote/block/block-backend.c:1559 --Type <RET> for more, q to quit, c to continue without paging-- #22 0x0000aaaae0a5b58c in blk_aio_read_entry (opaque=0xffff880015f0) at ../qemu-xen-dir-remote/block/block-backend.c:1614 #23 0x0000aaaae0b96c2c in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at ../qemu-xen-dir-remote/util/coroutine-ucontext.c:177 #24 0x0000ffff9e0bfb40 in ?? () at ../sysdeps/unix/sysv/linux/aarch64/setcontext.S:123 from /usr/lib/libc.so.6 (gdb) thread apply all bt Thread 10 (Thread 0xffff951348c0 (LWP 5460)): #0 0x0000ffff9e15d8c4 in __GI___libc_read (nbytes=16, buf=0xffff7c000cf0, fd=38) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/read.c:26 #1 __GI___libc_read (fd=fd@entry=38, buf=buf@entry=0xffff7c000cf0, nbytes=nbytes@entry=16) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/read.c:24 #2 0x0000ffff9f3828d8 in read (__nbytes=16, __buf=0xffff7c000cf0, __fd=38) at /home/Freenix/tools/fsl-imx-internal-xwayland/sysroots/armv8a-poky-linux/usr/include/bits/unistd.h:28 #3 read_all (fd=38, data=data@entry=0xffff7c000cf0, len=len@entry=16, nonblocking=nonblocking@entry=0) at xs.c:422 #4 0x0000ffff9f382a08 in read_message (h=h@entry=0xaaaaf6352030, nonblocking=nonblocking@entry=0) at xs.c:1303 #5 0x0000ffff9f383390 in read_thread (arg=0xaaaaf6352030) at xs.c:1396 #6 0x0000ffff9e0fe978 in start_thread (arg=0x19) at pthread_create.c:444 #7 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 9 (Thread 0xffff96f02920 (LWP 5457)): #0 0x0000ffff9e0fb1e4 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0xffff96f01f18, op=393, expected=0, futex_word=0xaaaaf5e5a3a0) at futex-internal.c:57 --Type <RET> for more, q to quit, c to continue without paging-- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0xffff96f01f18, clockid=-169499744, expected=0, futex_word=0xaaaaf5e5a3a0) at futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xaaaaf5e5a3a0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0xffff96f01f18, private=private@entry=0) at futex-internal.c:139 #3 0x0000ffff9e0fe038 in __pthread_cond_wait_common (abstime=0xffff96f01f18, clockid=0, mutex=0xaaaaf5e5a300, cond=0xaaaaf5e5a378) at pthread_cond_wait.c:503 #4 ___pthread_cond_timedwait64 (cond=cond@entry=0xaaaaf5e5a378, mutex=mutex@entry=0xaaaaf5e5a300, abstime=abstime@entry=0xffff96f01f18) at pthread_cond_wait.c:643 #5 0x0000aaaae0b80938 in qemu_cond_timedwait_ts (cond=cond@entry=0xaaaaf5e5a378, mutex=mutex@entry=0xaaaaf5e5a300, ts=ts@entry=0xffff96f01f18, file=file@entry=0xaaaae0d72a30 "../qemu-xen-dir-remote/util/thread-pool.c", line=line@entry=91) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:239 #6 0x0000aaaae0b8125c in qemu_cond_timedwait_impl (cond=0xaaaaf5e5a378, mutex=0xaaaaf5e5a300, ms=<optimized out>, file=0xaaaae0d72a30 "../qemu-xen-dir-remote/util/thread-pool.c", line=91) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:253 #7 0x0000aaaae0b97368 in worker_thread (opaque=opaque@entry=0xaaaaf5e5a2f0) at ../qemu-xen-dir-remote/util/thread-pool.c:91 #8 0x0000aaaae0b80af4 in qemu_thread_start (args=0xaaaaf6344f60) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:541 --Type <RET> for more, q to quit, c to continue without paging-- #9 0x0000ffff9e0fe978 in start_thread (arg=0x0) at pthread_create.c:444 #10 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 8 (Thread 0xffff972378c0 (LWP 5455)): #0 0x0000ffff9e15d8c4 in __GI___libc_read (nbytes=16, buf=0xffff8c000e40, fd=31) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/read.c:26 #1 __GI___libc_read (fd=fd@entry=31, buf=buf@entry=0xffff8c000e40, nbytes=nbytes@entry=16) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/read.c:24 #2 0x0000ffff9f3828d8 in read (__nbytes=16, __buf=0xffff8c000e40, __fd=31) at /home/Freenix/tools/fsl-imx-internal-xwayland/sysroots/armv8a-poky-linux/usr/include/bits/unistd.h:28 #3 read_all (fd=31, data=data@entry=0xffff8c000e40, len=len@entry=16, nonblocking=nonblocking@entry=0) at xs.c:422 #4 0x0000ffff9f382a08 in read_message (h=h@entry=0xaaaaf61d1970, nonblocking=nonblocking@entry=0) at xs.c:1303 #5 0x0000ffff9f383390 in read_thread (arg=0xaaaaf61d1970) at xs.c:1396 #6 0x0000ffff9e0fe978 in start_thread (arg=0x0) at pthread_create.c:444 #7 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 7 (Thread 0xffff972698c0 (LWP 5454)): --Type <RET> for more, q to quit, c to continue without paging-- #0 0x0000ffff9e15d8c4 in __GI___libc_read (nbytes=16, buf=0xffff88001540, fd=28) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/read.c:26 #1 __GI___libc_read (fd=fd@entry=28, buf=buf@entry=0xffff88001540, nbytes=nbytes@entry=16) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/read.c:24 #2 0x0000ffff9f3828d8 in read (__nbytes=16, __buf=0xffff88001540, __fd=28) at /home/Freenix/tools/fsl-imx-internal-xwayland/sysroots/armv8a-poky-linux/usr/include/bits/unistd.h:28 #3 read_all (fd=28, data=data@entry=0xffff88001540, len=len@entry=16, nonblocking=nonblocking@entry=0) at xs.c:422 #4 0x0000ffff9f382a08 in read_message (h=h@entry=0xaaaaf61d1240, nonblocking=nonblocking@entry=0) at xs.c:1303 #5 0x0000ffff9f383390 in read_thread (arg=0xaaaaf61d1240) at xs.c:1396 #6 0x0000ffff9e0fe978 in start_thread (arg=0x0) at pthread_create.c:444 #7 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 6 (Thread 0xffff97bfa920 (LWP 5453)): #0 0x0000ffff9e15d2ec in __GI___poll (fds=0xffff90000d50, nfds=4, timeout=<optimized out>) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff9e92d2e0 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x0000ffff9e92ddf4 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 --Type <RET> for more, q to quit, c to continue without paging-- #3 0x0000aaaae0a2c004 in iothread_run (opaque=opaque@entry=0xaaaaf5ea8410) at ../qemu-xen-dir-remote/iothread.c:70 #4 0x0000aaaae0b80af4 in qemu_thread_start (args=0xaaaaf5e5f2f0) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:541 #5 0x0000ffff9e0fe978 in start_thread (arg=0x4d) at pthread_create.c:444 #6 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 5 (Thread 0xffff75bdc920 (LWP 5562)): #0 0x0000ffff9e0fb1e4 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0xffff75bdbf18, op=393, expected=0, futex_word=0xffff7800c270) at futex-internal.c:57 #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0xffff75bdbf18, clockid=2013315696, expected=0, futex_word=0xffff7800c270) at futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xffff7800c270, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0xffff75bdbf18, private=private@entry=0) at futex-internal.c:139 #3 0x0000ffff9e0fe038 in __pthread_cond_wait_common (abstime=0xffff75bdbf18, clockid=0, mutex=0xffff7800c1d0, cond=0xffff7800c248) at pthread_cond_wait.c:503 #4 ___pthread_cond_timedwait64 (cond=cond@entry=0xffff7800c248, mutex=mutex@entry=0xffff7800c1d0, abstime=abstime@entry=0xffff75bdbf18) at pthread_cond_wait.c:643 --Type <RET> for more, q to quit, c to continue without paging-- #5 0x0000aaaae0b80938 in qemu_cond_timedwait_ts (cond=cond@entry=0xffff7800c248, mutex=mutex@entry=0xffff7800c1d0, ts=ts@entry=0xffff75bdbf18, file=file@entry=0xaaaae0d72a30 "../qemu-xen-dir-remote/util/thread-pool.c", line=line@entry=91) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:239 #6 0x0000aaaae0b8125c in qemu_cond_timedwait_impl (cond=0xffff7800c248, mutex=0xffff7800c1d0, ms=<optimized out>, file=0xaaaae0d72a30 "../qemu-xen-dir-remote/util/thread-pool.c", line=91) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:253 #7 0x0000aaaae0b97368 in worker_thread (opaque=opaque@entry=0xffff7800c1c0) at ../qemu-xen-dir-remote/util/thread-pool.c:91 #8 0x0000aaaae0b80af4 in qemu_thread_start (args=0xffff7800c330) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:541 #9 0x0000ffff9e0fe978 in start_thread (arg=0x0) at pthread_create.c:444 #10 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 4 (Thread 0xffff95944920 (LWP 5459)): #0 0x0000ffff9e15d7e8 in __GI_ppoll (fds=0xffff78000bb0, nfds=2, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/unix/sysv/linux/ppoll.c:42 #1 0x0000aaaae0b981cc in ppoll (__ss=0x0, __timeout=0x0, __nfds=<optimized out>, __fds=<optimized out>) at /home/Freenix/tools/fsl-imx-internal-xwayland/sysroots/armv8a-poky-linux/usr/include/bits/poll2.h:88 --Type <RET> for more, q to quit, c to continue without paging-- #2 qemu_poll_ns (fds=<optimized out>, nfds=<optimized out>, timeout=timeout@entry=-1) at ../qemu-xen-dir-remote/util/qemu-timer.c:339 #3 0x0000aaaae0b7e134 in fdmon_poll_wait (ctx=0xaaaaf6351e20, ready_list=0xffff95943f28, timeout=-1) at ../qemu-xen-dir-remote/util/fdmon-poll.c:79 #4 0x0000aaaae0b7dc50 in aio_poll (ctx=0xaaaaf6351e20, blocking=blocking@entry=true) at ../qemu-xen-dir-remote/util/aio-posix.c:670 #5 0x0000aaaae0a2bfe4 in iothread_run (opaque=opaque@entry=0xaaaaf5df5dc0) at ../qemu-xen-dir-remote/iothread.c:63 #6 0x0000aaaae0b80af4 in qemu_thread_start (args=0xaaaaf634a6b0) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:541 #7 0x0000ffff9e0fe978 in start_thread (arg=0x0) at pthread_create.c:444 #8 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 3 (Thread 0xffff96584920 (LWP 5458)): #0 0x0000ffff9e0fb1e4 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0xaaaaf6349718) at futex-internal.c:57 #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0xaaaaf6349718) at futex-internal.c:87 #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xaaaaf6349718, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 --Type <RET> for more, q to quit, c to continue without paging-- #3 0x0000ffff9e0fdd58 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0xaaaaf6349728, cond=0xaaaaf63496f0) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=cond@entry=0xaaaaf63496f0, mutex=mutex@entry=0xaaaaf6349728) at pthread_cond_wait.c:618 #5 0x0000aaaae0b81188 in qemu_cond_wait_impl (cond=0xaaaaf63496f0, mutex=0xaaaaf6349728, file=0xaaaae0c13b08 "../qemu-xen-dir-remote/ui/vnc-jobs.c", line=248) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:225 #6 0x0000aaaae032dda0 in vnc_worker_thread_loop (queue=queue@entry=0xaaaaf63496f0) at ../qemu-xen-dir-remote/ui/vnc-jobs.c:248 #7 0x0000aaaae032e14c in vnc_worker_thread (arg=arg@entry=0xaaaaf63496f0) at ../qemu-xen-dir-remote/ui/vnc-jobs.c:362 #8 0x0000aaaae0b80af4 in qemu_thread_start (args=0xaaaaf6349790) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:541 #9 0x0000ffff9e0fe978 in start_thread (arg=0x2) at pthread_create.c:444 #10 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 2 (Thread 0xffff9c8fe920 (LWP 5452)): #0 syscall () at ../sysdeps/unix/sysv/linux/aarch64/syscall.S:38 #1 0x0000aaaae0b80a20 in qemu_futex_wait (f=f@entry=0xaaaae1cb7e00 <rcu_call_ready_event>, val=val@entry=4294967295) at /home/Freenix/work/sw-stash/xen/upstream/tools/qemu-xen-dir-remote/include/qemu/futex.h:29 #2 0x0000aaaae0b816b4 in qemu_event_wait (ev=ev@entry=0xaaaae1cb7e00 <rcu_call_--Type <RET> for more, q to quit, c to continue without paging-- ready_event>) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:464 #3 0x0000aaaae0b8aa94 in call_rcu_thread (opaque=opaque@entry=0x0) at ../qemu-xen-dir-remote/util/rcu.c:278 #4 0x0000aaaae0b80af4 in qemu_thread_start (args=0xaaaaf5da9a10) at ../qemu-xen-dir-remote/util/qemu-thread-posix.c:541 #5 0x0000ffff9e0fe978 in start_thread (arg=0x2) at pthread_create.c:444 #6 0x0000ffff9e16708c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76 Thread 1 (Thread 0xffff9f4f5020 (LWP 5449)): #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x0000ffff9e100568 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x0000ffff9e0bacd0 in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.38+git-r0/sysdeps/posix/raise.c:26 #3 0x0000ffff9e0a6ef0 in __GI_abort () at abort.c:79 #4 0x0000ffff9e0b43f8 in __assert_fail_base (fmt=0xffff9e1ca8a8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xaaaae0d25740 "!qemu_in_coroutine()", file=file@entry=0xaaaae0d301a8 "../qemu-xen-dir-remote/block/graph-lock.c", line=line@entry=260, function=function@entry=0xaaaae0e522c0 <__PRETTY_FUNCTION__.3> "bdrv_graph_rdlock_main_loop") at assert.c:92 #5 0x0000ffff9e0b4470 in __assert_fail (assertion=assertion@entry=0xaaaae0d2574--Type <RET> for more, q to quit, c to continue without paging-- 0 "!qemu_in_coroutine()", file=file@entry=0xaaaae0d301a8 "../qemu-xen-dir-remote/block/graph-lock.c", line=line@entry=260, function=function@entry=0xaaaae0e522c0 <__PRETTY_FUNCTION__.3> "bdrv_graph_rdlock_main_loop") at assert.c:101 #6 0x0000aaaae0a66a60 in bdrv_graph_rdlock_main_loop () at ../qemu-xen-dir-remote/block/graph-lock.c:260 #7 0x0000aaaae0a6d9e0 in graph_lockable_auto_lock_mainloop (x=<optimized out>) at /home/Freenix/work/sw-stash/xen/upstream/tools/qemu-xen-dir-remote/include/block/graph-lock.h:259 #8 bdrv_unregister_buf (bs=bs@entry=0xaaaaf619d5a0, host=host@entry=0xffff742c8000, size=size@entry=2097152) at ../qemu-xen-dir-remote/block/io.c:3362 #9 0x0000aaaae0a5ddd4 in blk_unregister_buf (blk=<optimized out>, host=0xffff742c8000, size=2097152) at ../qemu-xen-dir-remote/block/block-backend.c:2859 #10 0x0000aaaae060aab4 in ram_block_removed (n=<optimized out>, host=<optimized out>, size=<optimized out>, max_size=<optimized out>) at ../qemu-xen-dir-remote/block/block-ram-registrar.c:33 #11 0x0000aaaae0399318 in ram_block_notify_remove (host=0xffff742c8000, size=2097152, max_size=2097152) at ../qemu-xen-dir-remote/hw/core/numa.c:883 #12 0x0000aaaae097cf84 in xen_invalidate_map_cache_entry_unlocked (buffer=buffer@entry=0xffff743c5000 "") at ../qemu-xen-dir-remote/hw/xen/xen-mapcache.c:475 #13 0x0000aaaae097dad0 in xen_invalidate_map_cache_entry (buffer=buffer@entry=0xffff743c5000 "") at ../qemu-xen-dir-remote/hw/xen/xen-mapcache.c:487 #14 0x0000aaaae0993e18 in address_space_unmap (as=as@entry=0xaaaae1ca3ae8 <address_space_memory>, buffer=0xffff743c5000, len=<optimized out>, is_write=is_write@--Type <RET> for more, q to quit, c to continue without paging-- entry=true, access_len=access_len@entry=32768) at ../qemu-xen-dir-remote/system/physmem.c:3199 #15 0x0000aaaae095cc9c in dma_memory_unmap (access_len=32768, dir=DMA_DIRECTION_FROM_DEVICE, len=<optimized out>, buffer=<optimized out>, as=0xaaaae1ca3ae8 <address_space_memory>) at /home/Freenix/work/sw-stash/xen/upstream/tools/qemu-xen-dir-remote/include/sysemu/dma.h:236 #16 virtqueue_unmap_sg (vq=vq@entry=0xffff965cc010, elem=elem@entry=0xaaaaf620aa30, len=len@entry=32769) at ../qemu-xen-dir-remote/hw/virtio/virtio.c:758 #17 0x0000aaaae095efa4 in virtqueue_fill (vq=vq@entry=0xffff965cc010, elem=elem@entry=0xaaaaf620aa30, len=len@entry=32769, idx=idx@entry=0) at ../qemu-xen-dir-remote/hw/virtio/virtio.c:919 #18 0x0000aaaae095f0b8 in virtqueue_push (vq=0xffff965cc010, elem=elem@entry=0xaaaaf620aa30, len=32769) at ../qemu-xen-dir-remote/hw/virtio/virtio.c:994 #19 0x0000aaaae091a608 in virtio_blk_req_complete (req=req@entry=0xaaaaf620aa30, status=status@entry=0 '\000') at ../qemu-xen-dir-remote/hw/block/virtio-blk.c:67 #20 0x0000aaaae091bdc8 in virtio_blk_rw_complete (opaque=<optimized out>, ret=0) at ../qemu-xen-dir-remote/hw/block/virtio-blk.c:136 #21 0x0000aaaae0a5a938 in blk_aio_complete (acb=acb@entry=0xffff880015f0) at ../qemu-xen-dir-remote/block/block-backend.c:1559 #22 0x0000aaaae0a5b58c in blk_aio_read_entry (opaque=0xffff880015f0) at ../qemu-xen-dir-remote/block/block-backend.c:1614 #23 0x0000aaaae0b96c2c in coroutine_trampoline (i0=<optimized out>, i1=<optimize--Type <RET> for more, q to quit, c to continue without paging-- d out>) at ../qemu-xen-dir-remote/util/coroutine-ucontext.c:177 #24 0x0000ffff9e0bfb40 in ?? () at ../sysdeps/unix/sysv/linux/aarch64/setcontext.S:123 from /usr/lib/libc.so.6 Backtrace stopped: not enough registers or memory available to unwind further Thanks, Peng.