Jakeler / ble-serial

"RFCOMM for BLE" a UART over Bluetooth low energy (4+) bridge for Linux, Mac and Windows
https://blog.ja-ke.tech/tags/#bluetooth
MIT License
251 stars 37 forks source link

Slow shutdown because of uncatched exceptions with bleak 0.13.0 #49

Closed Jakeler closed 2 years ago

Jakeler commented 2 years ago

Describe the bug It worked fine with bleak 0.12.1, after hitting ctrl-c it logged no errors, this does not properly work anymore with 0.13.0

Log messages

12:06:32.203 | ERROR | message_bus.py: A message handler raised an exception: 20:91:48:DF:76:D9 disconnected!.
Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
    self.run_forever()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
    self._run_once()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 1854, in _run_once
    event_list = self._selector.select(timeout)
  File "/usr/lib/python3.9/selectors.py", line 469, in select
    fd_event_list = self._selector.poll(timeout, max_ev)
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jk/Hobby/BMS-ble/venv/lib/python3.9/site-packages/dbus_next/message_bus.py", line 656, in _process_message
    result = handler(msg)
  File "/home/jk/Hobby/BMS-ble/venv/lib/python3.9/site-packages/bleak/backends/bluezdbus/client.py", line 1040, in _parse_msg
    self._disconnected_callback(self)
  File "/home/jk/Hobby/BMS-ble/venv/lib/python3.9/site-packages/ble_serial/bluetooth/ble_interface.py", line 116, in handle_disconnect
    raise BleakError(f'{client.address} disconnected!')
bleak.exc.BleakError: 20:91:48:DF:76:D9 disconnected!

Setup (please complete the following information):