On Fri, Jul 11, 2025, 10:47 AM Markus Armbruster <arm...@redhat.com> wrote:
> Steve Sistare <steven.sist...@oracle.com> writes: > > > Use qom-list-get to speed up the qom-tree command. > > > > Signed-off-by: Steve Sistare <steven.sist...@oracle.com> > > Quick test... Differences in output before and after match expectations > (see appended diff). > > New version: > > real 0m0.446s > user 0m0.062s > sys 0m0.017s > > Old version barfs a stack backtrace (appended), and is ~18x slower: > > real 0m8.176s > user 0m0.395s > sys 0m0.126s > > Did you see the stack backtrace, too? > > Regardless > Acked-by: Markus Armbruster <arm...@redhat.com> > > > > $ diff old new > 59c59 > < rtc-time: {'tm_year': 125, 'tm_sec': 24, 'tm_hour': 14, 'tm_min': 39, > 'tm_mon': 6, 'tm_mday': 11} (struct tm) > --- > > rtc-time: {'tm_year': 125, 'tm_sec': 28, 'tm_hour': 14, 'tm_min': 40, > 'tm_mon': 6, 'tm_mday': 11} (struct tm) > 486c486 > < date: {'tm_year': 125, 'tm_sec': 25, 'tm_hour': 14, 'tm_min': 39, > 'tm_mon': 6, 'tm_mday': 11} (struct tm) > --- > > date: {'tm_year': 125, 'tm_sec': 28, 'tm_hour': 14, 'tm_min': 40, > 'tm_mon': 6, 'tm_mday': 11} (struct tm) > 832c832 > < legacy-memory: <EXCEPTION: Property 'qemu64-x86_64-cpu.legacy-memory' > is not readable> (str) > --- > > legacy-memory: <EXCEPTION: property could not be read> (str) > 1109c1109 > < crash-information: <EXCEPTION: No crash occurred> > (GuestPanicInformation) > --- > > crash-information: <EXCEPTION: property could not be read> > (GuestPanicInformation) > 1554c1554 > < legacy-i8042: <EXCEPTION: Property 'vmmouse.legacy-i8042' is not > readable> (str) > --- > > legacy-i8042: <EXCEPTION: property could not be read> (str) > 2436c2436 > < legacy-iothread: <EXCEPTION: Property > 'virtio-blk-device.legacy-iothread' is not readable> (str) > --- > > legacy-iothread: <EXCEPTION: property could not be read> (str) > 2493c2493 > < legacy-iothread: <EXCEPTION: Property > 'virtio-blk-device.legacy-iothread' is not readable> (str) > --- > > legacy-iothread: <EXCEPTION: property could not be read> (str) > > > Exception ignored in: <function QEMUMonitorProtocol.__del__ at > 0x7fcfcd080d60> > Traceback (most recent call last): > File "/work/armbru/qemu/scripts/qmp/../../python/qemu/qmp/legacy.py", > line 310, in __del__ > self.close() > File "/work/armbru/qemu/scripts/qmp/../../python/qemu/qmp/legacy.py", > line 281, in close > self._sync( > File "/work/armbru/qemu/scripts/qmp/../../python/qemu/qmp/legacy.py", > line 102, in _sync > return self._aloop.run_until_complete( > File "/usr/lib64/python3.13/asyncio/base_events.py", line 719, in > run_until_complete > return future.result() > File "/usr/lib64/python3.13/asyncio/tasks.py", line 507, in wait_for > return await fut > File "/work/armbru/qemu/scripts/qmp/../../python/qemu/qmp/protocol.py", > line 399, in disconnect > await self._wait_disconnect() > File "/work/armbru/qemu/scripts/qmp/../../python/qemu/qmp/protocol.py", > line 719, in _wait_disconnect > await all_defined_tasks # Raise Exceptions from the bottom half. > File "/work/armbru/qemu/scripts/qmp/../../python/qemu/qmp/protocol.py", > line 870, in _bh_loop_forever > await async_fn() > RuntimeError: cannot reuse already awaited coroutine > Curious about this backtrace. It looks like something has gone fundamentally wrong in the internals and the error is being raised by the garbage collector which is not ideal. Can you help me reproduce this? Even if it's old/bad code, I don't want python-qemu-qmp faulting like this. >