Skip to content

qemu-system-x86_64: ../block/block-backend.c:1290: blk_in_drain: Assertion `qemu_in_main_thread()' failed.

Since commit f5ab12ca, using the monitor to exit qemu when a xen-block device is active leads to the following:

QEMU: Terminated
qemu-system-x86_64: ../block/block-backend.c:1290: blk_in_drain: Assertion `qemu_in_main_thread()' failed.
Aborted (core dumped)

Reported at https://lore.kernel.org/qemu-devel/61ae31ca4643b2caf703a36cebe5ed4f2abbf324.camel@infradead.org/

Backtrace:

Thread 1 "qemu-system-x86" received signal SIGABRT, Aborted.
0x00007ffff5ffc724 in __pthread_kill_implementation () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff5ffc724 in __pthread_kill_implementation () at /lib64/libc.so.6
#1  0x00007ffff5fa3d1e in raise () at /lib64/libc.so.6
#2  0x00007ffff5f8b942 in abort () at /lib64/libc.so.6
#3  0x00007ffff5f8b85e in __assert_fail_base.cold () at /lib64/libc.so.6
#4  0x00007ffff5f9be47 in __assert_fail () at /lib64/libc.so.6
#5  0x0000555555abf911 in blk_in_drain (blk=0x555557ca6680)
    at ../block/block-backend.c:1290
#6  0x000055555593410c in xen_block_dataplane_stop (dataplane=0x555558982950)
    at ../hw/block/dataplane/xen-block.c:695
#7  0x000055555593441a in xen_block_dataplane_stop (dataplane=<optimized out>)
    at ../hw/block/dataplane/xen-block.c:689
#8  0x00005555555dfd5e in xen_block_disconnect
    (xendev=xendev@entry=0x55555880aa60, errp=<optimized out>)
    at ../hw/block/xen-block.c:172
#9  0x00005555555dfeca in xen_block_unrealize (xendev=0x55555880aa60)
    at ../hw/block/xen-block.c:282
#10 0x000055555578ef71 in xen_device_unrealize (dev=<optimized out>)
    at ../hw/xen/xen-bus.c:978
#11 0x0000555555bfe65f in notifier_list_notify (list=<optimized out>, data=0x0)
    at ../util/notify.c:39
#12 0x00007ffff5fa6461 in __run_exit_handlers () at /lib64/libc.so.6
#13 0x00007ffff5fa652e in exit () at /lib64/libc.so.6
#14 0x0000555555b523dc in qemu_default_main (opaque=opaque@entry=0x0)
#15 0x00005555555609c0 in main (argc=<optimized out>, argv=<optimized out>) at ../system/main.c:76
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information