Here's a backtrace using the current bionic PPA package, which includes:
async: use explicit memory barriers
aio: Do aio_notify_accept only during blocking aio_poll
But does *not* include:
aio-posix: Don't count ctx->notifier as progress when polling
(gdb) thread apply all bt
Thread 2 (Thread 0xffff9d787ff0 (LWP 70291)):
#0 0x0000ffff9dc022cc in __GI___sigtimedwait (set=<optimized out>, set@entry=0x
aaaaebac2a20, info=info@entry=0xffff9d787688, timeout=0xffffdd0d8430, timeout@en
try=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:42
#1 0x0000ffff9dd39fac in __sigwait (set=set@entry=0xaaaaebac2a20, sig=sig@entry
=0xffff9d787764) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2 0x0000aaaac2311d70 in sigwait_compat (opaque=0xaaaaebac2a20) at ./util/compa
tfd.c:36
#3 0x0000ffff9dd2f088 in start_thread (arg=0xffffdd0d91bf) at pthread_create.c:
463
#4 0x0000ffff9dc9f4ec in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/
clone.S:78
Thread 1 (Thread 0xffff9d789010 (LWP 70290)):
#0 0x0000aaaac230e36c in aio_bh_poll (ctx=ctx@entry=0xaaaaebac4990) at ./util/a
sync.c:120
#1 0x0000aaaac2311818 in aio_poll (ctx=ctx@entry=0xaaaaebac4990, blocking=<opti
mized out>) at ./util/aio-posix.c:703
#2 0x0000aaaac229b2f0 in bdrv_prwv_co (child=child@entry=0xaaaaebace2f0, offset
=offset@entry=196608, qiov=qiov@entry=0xffffdd0d8ea0, is_write=is_write@entry=fa
lse, flags=flags@entry=0) at ./block/io.c:656
#3 0x0000aaaac229b654 in bdrv_preadv (qiov=0xffffdd0d8ea0, offset=196608, child
=0xaaaaebace2f0) at ./block/io.c:764
#4 bdrv_pread (child=0xaaaaebace2f0, offset=196608, buf=<optimized out>, bytes=
<optimized out>) at ./block/io.c:785
#5 0x0000aaaac226c514 in qcow2_do_open (bs=0xaaaaebaf3f90, options=0xaaaaebaea4
e0, flags=25090, errp=0xffffdd0d9070) at ./block/qcow2.c:1355
#6 0x0000aaaac224d834 in bdrv_open_driver (bs=bs@entry=0xaaaaebaf3f90, drv=0xaa
aac2375458 <bdrv_qcow2>, drv@entry=0xaaaaebae8240, node_name=<optimized out>, op
tions=options@entry=0xaaaaebaea4e0, open_flags=25090, errp=0xffffdd0d9130, errp@
entry=0x4202) at ./block.c:1146
#7 0x0000aaaac224eb90 in bdrv_open_common (errp=0x4202, options=0xaaaaebaea4e0,
file=0xaaaaebaf33e0, bs=0xaaaaebaf3f90) at ./block.c:1404
#8 bdrv_open_inherit (filename=<optimized out>, filename@entry=0xffffdd0da239 "foo.img", reference=reference@entry=0x0, options=0xaaaaebaea4e0, options@entry=0xaaaaebae8240, flags=<optimized out>, flags@entry=16898, parent=parent@entry=0x0, child_role=child_role@entry=0x0, errp=errp@entry=0xffffdd0d9200) at ./block.c:2628
#9 0x0000aaaac224f9d8 in bdrv_open (filename=filename@entry=0xffffdd0da239 "foo.img", reference=reference@entry=0x0, options=options@entry=0xaaaaebae8240, flags=flags@entry=16898, errp=errp@entry=0xffffdd0d9200) at ./block.c:2710
#10 0x0000aaaac228b3c4 in blk_new_open (filename=0xffffdd0da239 "foo.img", reference=0x0, options=0xaaaaebae8240, flags=16898, errp=0xffffdd0d9200) at ./block/block-backend.c:323
#11 0x0000aaaac22415b0 in img_open_file (filename=0xffffdd0da239 "foo.img", options=0xaaaaebae8240, fmt=<optimized out>, flags=16898, writethrough=false, force_share=false, quiet=<optimized out>) at ./qemu-img.c:315
#12 0x0000aaaac224437c in img_open_new_file (force_share=false, quiet=<optimized out>, writethrough=<optimized out>, flags=<optimized out>, fmt=0xffffdd0da212 "qcow2", create_opts=0xaaaaebacd5a0, filename=0xffffdd0da239 "foo.img") at ./qemu-img.c:350
#13 img_convert (argc=<optimized out>, argv=<optimized out>) at ./qemu-img.c:2283
#14 0x0000aaaac223fee4 in main (argc=8, argv=<optimized out>) at ./qemu-img.c:4763
(gdb)
Here's a backtrace using the current bionic PPA package, which includes:
async: use explicit memory barriers
aio: Do aio_notify_accept only during blocking aio_poll
But does *not* include:
aio-posix: Don't count ctx->notifier as progress when polling
(gdb) thread apply all bt
Thread 2 (Thread 0xffff9d787ff0 (LWP 70291)): entry=0xffff9d7 87688, timeout= 0xffffdd0d8430, timeout@en unix/sysv/ linux/sigtimedw ait.c:42 entry=0xaaaaeba c2a20, sig=sig@entry unix/sysv/ linux/sigwait. c:28 0xaaaaebac2a20) at ./util/compa 91bf) at pthread_create.c: unix/sysv/ linux/aarch64/
#0 0x0000ffff9dc022cc in __GI___sigtimedwait (set=<optimized out>, set@entry=0x
aaaaebac2a20, info=info@
try=0x0) at ../sysdeps/
#1 0x0000ffff9dd39fac in __sigwait (set=set@
=0xffff9d787764) at ../sysdeps/
#2 0x0000aaaac2311d70 in sigwait_compat (opaque=
tfd.c:36
#3 0x0000ffff9dd2f088 in start_thread (arg=0xffffdd0d
463
#4 0x0000ffff9dc9f4ec in thread_start () at ../sysdeps/
clone.S:78
Thread 1 (Thread 0xffff9d789010 (LWP 70290)): entry=0xaaaaeba c4990) at ./util/a entry=0xaaaaeba c4990, blocking=<opti aio-posix. c:703 child@entry= 0xaaaaebace2f0, offset entry=196608, qiov=qiov@ entry=0xffffdd0 d8ea0, is_write= is_write@ entry=fa entry=0) at ./block/io.c:656 d8ea0, offset=196608, child 0xaaaaebace2f0, offset=196608, buf=<optimized out>, bytes= 0xaaaaebaea4 9070) at ./block/ qcow2.c: 1355 entry=0xaaaaeba f3f90, drv=0xaa 0xaaaaebae8240, node_name= <optimized out>, op entry=0xaaaaeba ea4e0, open_flags=25090, errp=0xffffdd0d 9130, errp@ 0xaaaaebaea4e0, f33e0, bs=0xaaaaebaf3f90) at ./block.c:1404 <optimized out>, filename@ entry=0xffffdd0 da239 "foo.img", reference= reference@ entry=0x0, options= 0xaaaaebaea4e0, options@ entry=0xaaaaeba e8240, flags=<optimized out>, flags@entry=16898, parent= parent@ entry=0x0, child_role= child_role@ entry=0x0, errp=errp@ entry=0xffffdd0 d9200) at ./block.c:2628 filename@ entry=0xffffdd0 da239 "foo.img", reference= reference@ entry=0x0, options= options@ entry=0xaaaaeba e8240, flags=flags@ entry=16898, errp=errp@ entry=0xffffdd0 d9200) at ./block.c:2710 0xffffdd0da239 "foo.img", reference=0x0, options= 0xaaaaebae8240, flags=16898, errp=0xffffdd0d 9200) at ./block/ block-backend. c:323 0xffffdd0da239 "foo.img", options= 0xaaaaebae8240, fmt=<optimized out>, flags=16898, writethrough=false, force_share=false, quiet=<optimized out>) at ./qemu-img.c:315 <optimized out>, flags=<optimized out>, fmt=0xffffdd0da212 "qcow2", create_ opts=0xaaaaebac d5a0, filename= 0xffffdd0da239 "foo.img") at ./qemu-img.c:350
#0 0x0000aaaac230e36c in aio_bh_poll (ctx=ctx@
sync.c:120
#1 0x0000aaaac2311818 in aio_poll (ctx=ctx@
mized out>) at ./util/
#2 0x0000aaaac229b2f0 in bdrv_prwv_co (child=
=offset@
lse, flags=flags@
#3 0x0000aaaac229b654 in bdrv_preadv (qiov=0xffffdd0
=0xaaaaebace2f0) at ./block/io.c:764
#4 bdrv_pread (child=
<optimized out>) at ./block/io.c:785
#5 0x0000aaaac226c514 in qcow2_do_open (bs=0xaaaaebaf3f90, options=
e0, flags=25090, errp=0xffffdd0d
#6 0x0000aaaac224d834 in bdrv_open_driver (bs=bs@
aac2375458 <bdrv_qcow2>, drv@entry=
tions=options@
entry=0x4202) at ./block.c:1146
#7 0x0000aaaac224eb90 in bdrv_open_common (errp=0x4202, options=
file=0xaaaaeba
#8 bdrv_open_inherit (filename=
#9 0x0000aaaac224f9d8 in bdrv_open (filename=
#10 0x0000aaaac228b3c4 in blk_new_open (filename=
#11 0x0000aaaac22415b0 in img_open_file (filename=
#12 0x0000aaaac224437c in img_open_new_file (force_share=false, quiet=<optimized out>, writethrough=
#13 img_convert (argc=<optimized out>, argv=<optimized out>) at ./qemu-img.c:2283
#14 0x0000aaaac223fee4 in main (argc=8, argv=<optimized out>) at ./qemu-img.c:4763
(gdb)