All of lore.kernel.org
 help / color / mirror / Atom feed
* Several QOM objects crash on introspection
@ 2026-04-22 14:16 Markus Armbruster
  2026-04-22 20:24 ` Marc-André Lureau
  2026-04-23 18:36 ` Peter Xu
  0 siblings, 2 replies; 6+ messages in thread
From: Markus Armbruster @ 2026-04-22 14:16 UTC (permalink / raw)
  To: qemu-devel
  Cc: zhangckid, lizhijian, jasowang, arei.gonglei, zhenwei.pi,
	pbonzini, peterx, philmd, marcandre.lureau, berrange,
	elena.ufimtseva, jag.raman

QMP command qom-list-properties crashes for the following object types:

    colo-compare
    cryptodev-backend-lkcf
    memory-region-portio-list
    qemu-fixed-text-console
    qemu-graphic-console
    qio-net-listener
    x-remote-object

Testing gap: tests/qtest/device-introspect-test.c guards against such
bugs in devices, but not non-device objects.

Example crash:

(gdb) r
Starting program: /home/armbru/bin/qemu-system-x86_64 -S -display none -qmp stdio
[...]
{"QMP": {"version": {"qemu": {"micro": 94, "minor": 2, "major": 10}, "package": "v11.0.0-rc4-14-gcb2bd9a2e6-dirty"}, "capabilities": ["oob"]}}
[New Thread 0x7fff6b61d6c0 (LWP 2882851)]
{"execute": "qmp_capabilities", "arguments": {"enable": ["oob"]}}
{"return": {}}
{"execute": "qom-list-properties", "arguments": {"typename": "colo-compare"}}
upstream-qemu: ../util/qemu-thread-posix.c:96: qemu_mutex_destroy: Assertion `mutex->initialized' failed.

Thread 1 "upstream-qemu" received signal SIGABRT, Aborted.
0x00007ffff49c33cc in __pthread_kill_implementation () from /lib64/libc.so.6
[...]
(gdb) bt
#0  0x00007ffff49c33cc in __pthread_kill_implementation () at /lib64/libc.so.6
#1  0x00007ffff496915e in raise () at /lib64/libc.so.6
#2  0x00007ffff49506d0 in abort () at /lib64/libc.so.6
#3  0x00007ffff4950639 in __assert_fail_base.cold () at /lib64/libc.so.6
#4  0x0000555555ee3187 in qemu_mutex_destroy (mutex=0x55555761d4a0 <event_mtx>)
    at ../util/qemu-thread-posix.c:96
#5  0x0000555555a18c65 in colo_compare_finalize (obj=0x55555887e4f0)
    at ../net/colo-compare.c:1423
#6  0x0000555555c8bb31 in object_deinit
    (obj=0x55555887e4f0, type=0x555558053a90) at ../qom/object.c:715
#7  0x0000555555c8bbab in object_finalize (data=0x55555887e4f0)
    at ../qom/object.c:729
#8  0x0000555555c8ce2c in object_unref (objptr=0x55555887e4f0)
    at ../qom/object.c:1232
#9  0x0000555555de8d38 in qmp_qom_list_properties
    (typename=0x5555581ef450 "colo-compare", errp=0x7fffffffd8a8)
    at ../qom/qom-qmp-cmds.c:282
#10 0x0000555555e90311 in qmp_marshal_qom_list_properties
    (args=0x7fff64003150, ret=0x7fffeccccda8, errp=0x7fffeccccda0)
    at qapi/qapi-commands-qom.c:326
#11 0x0000555555ecdd9e in do_qmp_dispatch_bh (opaque=0x7fffecccce40)
    at ../qapi/qmp-dispatch.c:128
#12 0x0000555555eff09b in aio_bh_call (bh=0x555558bee700)
--Type <RET> for more, q to quit, c to continue without paging--
    at ../util/async.c:173
#13 0x0000555555eff1e3 in aio_bh_poll (ctx=0x55555807f180)
    at ../util/async.c:220
#14 0x0000555555ede0d0 in aio_dispatch (ctx=0x55555807f180)
    at ../util/aio-posix.c:390
#15 0x0000555555eff6f4 in aio_ctx_dispatch
    (source=0x55555807f180, callback=0x0, user_data=0x0) at ../util/async.c:365
#16 0x00007ffff6deb323 in g_main_context_dispatch_unlocked.lto_priv ()
    at /lib64/libglib-2.0.so.0
#17 0x00007ffff6deb5b5 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#18 0x0000555555f01202 in glib_pollfds_poll () at ../util/main-loop.c:290
#19 0x0000555555f01290 in os_host_main_loop_wait (timeout=0)
    at ../util/main-loop.c:313
#20 0x0000555555f013c1 in main_loop_wait (nonblocking=0)
    at ../util/main-loop.c:592
#21 0x0000555555993773 in qemu_main_loop () at ../system/runstate.c:945
#22 0x0000555555e0d468 in qemu_default_main (opaque=0x0) at ../system/main.c:50
#23 0x0000555555e0d522 in main (argc=6, argv=0x7fffffffdd58)
    at ../system/main.c:93



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-04-23 18:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-22 14:16 Several QOM objects crash on introspection Markus Armbruster
2026-04-22 20:24 ` Marc-André Lureau
2026-04-23  4:55   ` Markus Armbruster
2026-04-23 16:18     ` Jagannathan Raman
2026-04-23 17:31       ` Markus Armbruster
2026-04-23 18:36 ` Peter Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.