MeshChatX version
4.9.0
Release channel
Unsure
Platform
Desktop (Electron)
Operating system
macOS
OS details (if Other)
tahoe 26.6
How did you install MeshChatX?
pip / uv / PyPI
What happened?
I know this is an edge case but still.
There is no way to know how many users are on each RCC hub. So the only way is to connect to them all.
I tried connecting to many by pressing 'add' from 'discovery' over and over, and it crashed.
I restarted, when adding more it crashes again.
PS: would be nice if clicking 'add' didn't take you away from the main screen
PS2: is discovery list capped at 200 hubs?
The log is below.
What did you expect?
no crash :)
Steps to reproduce
Go in RCC hub discovery and keep clicking 'add'. After 2 or 3 fast enough clicks, the error is reproducible.
Logs or error output
[crash_recovery] Unhandled exception in thread 'Thread-12 (run)':
======================================================================
!!! APPLICATION CRASH DETECTED !!!
======================================================================
Error Summary:
Type: RuntimeError
Message: <asyncio.locks.Lock object at 0x10deb7b60 [unlocked, waiters:1]> is bound to a different event loop
System Environment Diagnosis:
- OS: Darwin 25.6.0 (arm64)
- Python: 3.13.5
- Memory: 80.4% used (3212.1 MB available)
- Storage Path: /Users/nongkhaem/.reticulum-meshchatx
- Disk Space: 80718.9 MB free
- Frontend Assets: /Users/nongkhaem/.local/share/uv/tools/reticulum-meshchatx/lib/python3.13/site-packages/meshchatx/public
- Frontend Status: Assets verified
- Reticulum Network Stack:
- Config Directory: /Users/nongkhaem/.reticulum
- Config File: OK
- Logs: No RNS log files found in standard locations.
- Active Interfaces: 1
> LocalInterface[37428] [Active]
Root Cause Analysis:
[System Entropy: 0.9776 bits]
[KL-Divergence: 0.0000 bits]
[Log Entropy (60s): 0.4395 bits]
[Error Rate (60s): 9.09%]
- [45% Probability] Asynchronous Initialization Race Condition
Reasoning: A component tried to access the asyncio event loop before it was started.
Technical Traceback:
Traceback (most recent call last):
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/threading.py", line 1043, in _bootstrap_inner
self.run()
~~~~~~~~^^
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/threading.py", line 994, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/asyncio/runners.py", line 195, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/Users/nongkhaem/.local/share/uv/tools/reticulum-meshchatx/lib/python3.13/site-packages/meshchatx/meshchat.py", line 3740, in announce_sync_propagation_nodes
await self.send_config_to_websocket_clients(context=ctx)
File "/Users/nongkhaem/.local/share/uv/tools/reticulum-meshchatx/lib/python3.13/site-packages/meshchatx/meshchat.py", line 7589, in send_config_to_websocket_clients
await self.websocket_broadcast(
...<4 lines>...
)
File "/Users/nongkhaem/.local/share/uv/tools/reticulum-meshchatx/lib/python3.13/site-packages/meshchatx/meshchat.py", line 7476, in websocket_broadcast
async with self._websocket_broadcast_lock:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/asyncio/locks.py", line 14, in __aenter__
await self.acquire()
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/asyncio/locks.py", line 105, in acquire
fut = self._get_loop().create_future()
~~~~~~~~~~~~~~^^
File "/Users/nongkhaem/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/asyncio/mixins.py", line 20, in _get_loop
raise RuntimeError(f'{self!r} is bound to a different event loop')
RuntimeError: <asyncio.locks.Lock object at 0x10deb7b60 [unlocked, waiters:1]> is bound to a different event loop
======================================================================
Recovery Suggestions:
1. Check if you are running a supported Python version (3.10+ recommended).
1. Verify that background tasks are correctly deferred until the loop is running.
*. If the issue persists, report it to Ivan over another LXMF client: f489752fbef161c64d65e385a4e9fc74
======================================================================
^CReceived signal 2: flushing databases before shutdown...
Tearing down Identity Context for e5d7854194163e74763fa5ca0ae0b822...
nongkhaem@nongkhaems-Macbook-Air ~ % meshchatx
Checklist
MeshChatX version
4.9.0
Release channel
Unsure
Platform
Desktop (Electron)
Operating system
macOS
OS details (if Other)
tahoe 26.6
How did you install MeshChatX?
pip / uv / PyPI
What happened?
I know this is an edge case but still.
There is no way to know how many users are on each RCC hub. So the only way is to connect to them all.
I tried connecting to many by pressing 'add' from 'discovery' over and over, and it crashed.
I restarted, when adding more it crashes again.
PS: would be nice if clicking 'add' didn't take you away from the main screen
PS2: is discovery list capped at 200 hubs?
The log is below.
What did you expect?
no crash :)
Steps to reproduce
Go in RCC hub discovery and keep clicking 'add'. After 2 or 3 fast enough clicks, the error is reproducible.
Logs or error output
Checklist