In the GLib case it fails quietly with no error, the asyncio case returns this traceback:
/home/whot/tmp/2022-11-17-Thu/test_async.py:65: DeprecationWarning: There is no current event loop
asyncio.get_event_loop().run_until_complete(main())
Traceback (most recent call last):
File "/home/whot/tmp/2022-11-17-Thu/test_async.py", line 65, in <module>
asyncio.get_event_loop().run_until_complete(main())
File "/usr/lib64/python3.11/asyncio/base_events.py", line 650, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/whot/tmp/2022-11-17-Thu/test_async.py", line 63, in main
await bus.wait_for_disconnect()
File "/home/whot/.local/lib/python3.11/site-packages/dbus_next/aio/message_bus.py", line 342, in wait_for_disconnect
return await self._disconnect_future
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/whot/.local/lib/python3.11/site-packages/dbus_next/aio/message_bus.py", line 365, in _message_reader
if self._unmarshaller.unmarshall():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/whot/.local/lib/python3.11/site-packages/dbus_next/_private/unmarshaller.py", line 297, in unmarshall
self._read_header()
File "/home/whot/.local/lib/python3.11/site-packages/dbus_next/_private/unmarshaller.py", line 247, in _read_header
self.flag = MESSAGE_FLAG_MAP[buffer[2]]
~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 0
Commit "Improve unmarshall performance" (3282eed607cb7f9f64a3275d1f9155c0e65bd8f8) broke the introspection abilities. Trying to introspect now simply gives
Remote peer disconnected
.Can be reproduced with the example high level service from the docs or this GLib based one:
To trigger the error, run this command:
In the GLib case it fails quietly with no error, the asyncio case returns this traceback: