No bot bridging M->T after network outage
After a network outage, the bridge stops relaying messages from Matrix to Telegram through the bot's account. Messages from Matrix to Telegam are still being sent for users who logged in with their own account. Messages from Telegram to Matrix are still working.
The exceptions in the log seem to indicate some problem related to locks.
The bridge then have to be manually restarted for the bridge to fully work again.
Log snippet with exception trace:
Feb 15 17:15:30 matrix mautrix-telegram[6279]: [[email protected]] Exception in Matrix event handler
Feb 15 17:15:30 matrix mautrix-telegram[6279]: Traceback (most recent call last):
Feb 15 17:15:30 matrix mautrix-telegram[6279]: File "/nix/store/71n9zf6p3ca8c2vqdcbpdpm2f3dw4pbq-python3.7-mautrix-0.4.0/lib/python3.7/site-packages
/mautrix/appservice/appservice.py", line 229, in try_handle
Feb 15 17:15:30 matrix mautrix-telegram[6279]: await handler_func(event)
Feb 15 17:15:30 matrix mautrix-telegram[6279]: File "/nix/store/71n9zf6p3ca8c2vqdcbpdpm2f3dw4pbq-python3.7-mautrix-0.4.0/lib/python3.7/site-packages
/mautrix/bridge/matrix.py", line 319, in int_handle_event
Feb 15 17:15:30 matrix mautrix-telegram[6279]: await self.handle_message(evt.room_id, evt.sender, evt.content, evt.event_id)
Feb 15 17:15:30 matrix mautrix-telegram[6279]: File "/nix/store/71n9zf6p3ca8c2vqdcbpdpm2f3dw4pbq-python3.7-mautrix-0.4.0/lib/python3.7/site-packages
/mautrix/bridge/matrix.py", line 237, in handle_message
Feb 15 17:15:30 matrix mautrix-telegram[6279]: await portal.handle_matrix_message(sender, message, event_id)
Feb 15 17:15:30 matrix mautrix-telegram[6279]: File "/nix/store/g1hvb06iv585yww9p2k6gdkn6nd3d6fz-python3.7-mautrix-telegram-0.7.0/lib/python3.7/site
-packages/mautrix_telegram/portal/matrix.py", line 372, in handle_matrix_message
Feb 15 17:15:30 matrix mautrix-telegram[6279]: await self._handle_matrix_text(sender_id, event_id, space, client, content, reply_to)
Feb 15 17:15:30 matrix mautrix-telegram[6279]: File "/nix/store/g1hvb06iv585yww9p2k6gdkn6nd3d6fz-python3.7-mautrix-telegram-0.7.0/lib/python3.7/site
-packages/mautrix_telegram/portal/matrix.py", line 229, in _handle_matrix_text
Feb 15 17:15:30 matrix mautrix-telegram[6279]: async with self.send_lock(sender_id):
Feb 15 17:15:30 matrix mautrix-telegram[6279]: File "/nix/store/g1hvb06iv585yww9p2k6gdkn6nd3d6fz-python3.7-mautrix-telegram-0.7.0/lib/python3.7/site
-packages/mautrix_telegram/portal/send_lock.py", line 39, in __call__
Feb 15 17:15:30 matrix mautrix-telegram[6279]: raise ValueError("Required send lock for none id")
Feb 15 17:15:30 matrix mautrix-telegram[6279]: ValueError: Required send lock for none id
Happened to me too. Restarting the bridge was enough to fix.
Still happening from time to time on mautrix-telegram 0.8.2:
Aug 12 00:07:10 hp2 mautrix-telegram[773]: [[email protected]] Exception in Matrix event handler
Aug 12 00:07:10 hp2 mautrix-telegram[773]: Traceback (most recent call last):
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/812dhbdz88vxm283zdvjw61xzaagkvrh-python3.8-mautrix-0.5.8/lib/python3.8/site-packages/mautrix/appservice/as_handler.py", line 147, in try_handle
Aug 12 00:07:10 hp2 mautrix-telegram[773]: await handler_func(event)
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/812dhbdz88vxm283zdvjw61xzaagkvrh-python3.8-mautrix-0.5.8/lib/python3.8/site-packages/mautrix/bridge/matrix.py", line 376, in int_handle_event
Aug 12 00:07:10 hp2 mautrix-telegram[773]: await self.handle_message(evt.room_id, evt.sender, evt.content, evt.event_id)
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/812dhbdz88vxm283zdvjw61xzaagkvrh-python3.8-mautrix-0.5.8/lib/python3.8/site-packages/mautrix/bridge/matrix.py", line 273, in handle_message
Aug 12 00:07:10 hp2 mautrix-telegram[773]: await portal.handle_matrix_message(sender, message, event_id)
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/m88k0igk6d95pnvxs5rf71falym0gdgl-python3.8-mautrix-telegram-0.8.2/lib/python3.8/site-packages/mautrix_telegram/portal/matrix.py", line 377, in handle_matrix_message
Aug 12 00:07:10 hp2 mautrix-telegram[773]: await self._handle_matrix_message(sender, content, event_id)
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/m88k0igk6d95pnvxs5rf71falym0gdgl-python3.8-mautrix-telegram-0.8.2/lib/python3.8/site-packages/mautrix_telegram/portal/matrix.py", line 407, in _handle_matrix_message
Aug 12 00:07:10 hp2 mautrix-telegram[773]: await self._handle_matrix_text(sender_id, event_id, space, client, content, reply_to)
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/m88k0igk6d95pnvxs5rf71falym0gdgl-python3.8-mautrix-telegram-0.8.2/lib/python3.8/site-packages/mautrix_telegram/portal/matrix.py", line 242, in _handle_matrix_text
Aug 12 00:07:10 hp2 mautrix-telegram[773]: async with self.send_lock(sender_id):
Aug 12 00:07:10 hp2 mautrix-telegram[773]: File "/nix/store/m88k0igk6d95pnvxs5rf71falym0gdgl-python3.8-mautrix-telegram-0.8.2/lib/python3.8/site-packages/mautrix_telegram/portal/send_lock.py", line 39, in __call__
Aug 12 00:07:10 hp2 mautrix-telegram[773]: raise ValueError("Required send lock for none id")
Aug 12 00:07:10 hp2 mautrix-telegram[773]: ValueError: Required send lock for none id
Encountering this as well, but a restart does not help.
I found out that it was enough to remove all the contents of telethon_sessions table, the bot reauthenticated and it works fine now.