John Snow <js...@redhat.com> writes: > On Fri, Jul 11, 2025, 10:47 AM Markus Armbruster <arm...@redhat.com> wrote:
[...] >> 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. Reproducer for Fedora 41, current master c079d3a31e4: Run $ qemu-system-x86_64 -S -display none -chardev socket,id=mon1,path=test-qmp,server=on,wait=off -mon mode=control,id=qmp,chardev=mon1 and $ scripts/qmp/qom-tree -s test-qmp >/dev/null Questions?