Long uptime leads to no reconnection and double ctrl-c #118

Closed
opened 2026-10-05 01:24:12 +02:00 by adam · 13 comments
Owner

Not sure what is giong on, but after long uptime about day or two, bot stops reacting correctly for node disconnect and ctrl-c.

I have started this thread here:
https://github.com/SpudGunMan/meshing-around/issues/266

So i assume something going on.
How can i help to debug it?

Not sure what is giong on, but after long uptime about day or two, bot stops reacting correctly for node disconnect and ctrl-c. I have started this thread here: https://github.com/SpudGunMan/meshing-around/issues/266 So i assume something going on. How can i help to debug it? <!-- github-sync-id:3629165926 -->
adam closed this issue 2026-10-05 01:24:13 +02:00
Author
Owner

What's the setup, and software/hardware being used? What's the

I have a few different copies here all running well. What's free memory?

How much extra stuff is enabled?

Is there a lot of game play? What's the size of the mesh?

What's the setup, and software/hardware being used? What's the I have a few different copies here all running well. What's free memory? How much extra stuff is enabled? Is there a lot of game play? What's the size of the mesh? <!-- github-comment-id:3536841198 -->
Author
Owner

As usual, connected with node via wifi.
Running rpi 3b+.
Memory used about half and 1/3 swap in a 200mb.
As this rpi also runs meshsense and container with web client.

Mostly from the config template i have disabled wiki, disabledsome vulcano, enabled open-meteo, nor sure what is RX subscriber and dunno how to disable it, etc:

(venv) service5@rpi3bp:~/meshing-around $ ./launch.sh mesh
2025-11-15 23:15:18,148 | DEBUG | System: WoTd: data/wotd.json not found, using default word list.
2025-11-15 23:15:18,149 | DEBUG | System: WoTd: data/bingo.json not found, using default bingo card.
2025-11-15 23:15:18,150 | DEBUG | System: WoTd: Initialized with word of the day 'ephemeral'.
2025-11-15 23:15:18,150 | DEBUG | System: BINGO: whale | cow | duck. fox | parrot | gorilla. lion | lizard | sheep
2025-11-15 23:15:18,165 | DEBUG | System: Initializing Interfaces
2025-11-15 23:15:18,969 | DEBUG | System: Initalized Radio Device1 Node Number: (shortened)
2025-11-15 23:15:18,972 | DEBUG | System: Fetched Channel List from Device1 (cached)
2025-11-15 23:15:18,977 | DEBUG | System: Mesh Leaderboard loaded from leaderboard.pkl

Meshtastic Autoresponder Bot CTL+C to exit

2025-11-15 23:15:18,981 | INFO | System: Autoresponder Started for Device1 ZedIsSttn3,Zed9. (shortened)
2025-11-15 23:15:18,983 | DEBUG | System: BBS Enabled, data/bbsdb.pkl has 3 messages. Direct Mail Messages waiting: 0
2025-11-15 23:15:18,984 | DEBUG | System: Celestial Telemetry Enabled
2025-11-15 23:15:18,985 | DEBUG | System: Location Telemetry Enabled using Open-Meteo API
2025-11-15 23:15:18,993 | DEBUG | System: Dad Jokes Enabled!
2025-11-15 23:15:18,995 | DEBUG | System: Games Enabled!
2025-11-15 23:15:18,996 | DEBUG | System: File Monitor News Reader Enabled for ../data/news1.txt
2025-11-15 23:15:18,997 | DEBUG | System: QRZ Welcome/Hello Enabled
2025-11-15 23:15:18,998 | DEBUG | System: Respond by DM only
2025-11-15 23:15:18,999 | DEBUG | System: Logging System Logs to disk
2025-11-15 23:15:19,000 | DEBUG | System: MOTD Enabled using Спасибо что используете бота! Живите долго и процветайте! Актуализируйте настройки сети! scheduler:False
2025-11-15 23:15:19,006 | DEBUG | System: S&F(messages command) Enabled using limit: 3 and reverse queue:True
2025-11-15 23:15:19,008 | DEBUG | System: Ignoring Channels: ['']
2025-11-15 23:15:19,009 | DEBUG | System: Logging Metadata Stats Enabled, leaderboard
2025-11-15 23:15:19,011 | DEBUG | System: Starting 2 async tasks
2025-11-15 23:15:19,014 | DEBUG | System: RX Subscriber started
2025-11-15 23:15:19,015 | DEBUG | System: Watchdog started

As usual, connected with node via wifi. Running rpi 3b+. Memory used about half and 1/3 swap in a 200mb. As this rpi also runs meshsense and container with web client. Mostly from the config template i have disabled wiki, disabledsome vulcano, enabled open-meteo, nor sure what is RX subscriber and dunno how to disable it, etc: (venv) service5@rpi3bp:~/meshing-around $ ./launch.sh mesh 2025-11-15 23:15:18,148 | DEBUG | System: WoTd: data/wotd.json not found, using default word list. 2025-11-15 23:15:18,149 | DEBUG | System: WoTd: data/bingo.json not found, using default bingo card. 2025-11-15 23:15:18,150 | DEBUG | System: WoTd: Initialized with word of the day 'ephemeral'. 2025-11-15 23:15:18,150 | DEBUG | System: BINGO: whale | cow | duck. fox | parrot | gorilla. lion | lizard | sheep 2025-11-15 23:15:18,165 | DEBUG | System: Initializing Interfaces 2025-11-15 23:15:18,969 | DEBUG | System: Initalized Radio Device1 Node Number: (shortened) 2025-11-15 23:15:18,972 | DEBUG | System: Fetched Channel List from Device1 (cached) 2025-11-15 23:15:18,977 | DEBUG | System: Mesh Leaderboard loaded from leaderboard.pkl Meshtastic Autoresponder Bot CTL+C to exit 2025-11-15 23:15:18,981 | INFO | System: Autoresponder Started for Device1 ZedIsSttn3,Zed9. (shortened) 2025-11-15 23:15:18,983 | DEBUG | System: BBS Enabled, data/bbsdb.pkl has 3 messages. Direct Mail Messages waiting: 0 2025-11-15 23:15:18,984 | DEBUG | System: Celestial Telemetry Enabled 2025-11-15 23:15:18,985 | DEBUG | System: Location Telemetry Enabled using Open-Meteo API 2025-11-15 23:15:18,993 | DEBUG | System: Dad Jokes Enabled! 2025-11-15 23:15:18,995 | DEBUG | System: Games Enabled! 2025-11-15 23:15:18,996 | DEBUG | System: File Monitor News Reader Enabled for ../data/news1.txt 2025-11-15 23:15:18,997 | DEBUG | System: QRZ Welcome/Hello Enabled 2025-11-15 23:15:18,998 | DEBUG | System: Respond by DM only 2025-11-15 23:15:18,999 | DEBUG | System: Logging System Logs to disk 2025-11-15 23:15:19,000 | DEBUG | System: MOTD Enabled using Спасибо что используете бота! Живите долго и процветайте! Актуализируйте настройки сети! scheduler:False 2025-11-15 23:15:19,006 | DEBUG | System: S&F(messages command) Enabled using limit: 3 and reverse queue:True 2025-11-15 23:15:19,008 | DEBUG | System: Ignoring Channels: [''] 2025-11-15 23:15:19,009 | DEBUG | System: Logging Metadata Stats Enabled, leaderboard 2025-11-15 23:15:19,011 | DEBUG | System: Starting 2 async tasks 2025-11-15 23:15:19,014 | DEBUG | System: RX Subscriber started 2025-11-15 23:15:19,015 | DEBUG | System: Watchdog started <!-- github-comment-id:3536857745 -->
Author
Owner

how do you link to a meshtastic node? what if the meshsense isn't running

how do you link to a meshtastic node? what if the meshsense isn't running <!-- github-comment-id:3536919317 -->
Author
Owner

Connected via tcp as i configured it so.
Will take a looks for the next 2 days again and if repeats will go without meshsense also for 2 days.

Connected via tcp as i configured it so. Will take a looks for the next 2 days again and if repeats will go without meshsense also for 2 days. <!-- github-comment-id:3536921915 -->
Author
Owner

Are you using two nodes?

Are you using two nodes? <!-- github-comment-id:3536943524 -->
Author
Owner

Not for the bot, second node connected with meshsense.

Not for the bot, second node connected with meshsense. <!-- github-comment-id:3536945141 -->
Author
Owner

Can you also test using usb and not WiFi to connect the node?

Can you also test using usb and not WiFi to connect the node? <!-- github-comment-id:3536953661 -->
Author
Owner

Will try to relocate rpi to achieve the same place as node after main tests.

Will try to relocate rpi to achieve the same place as node after main tests. <!-- github-comment-id:3536995535 -->
Author
Owner

My node is within eyeshot of an AP

These devices are overall fragile and sometimes a little unstable so give it all the help it can get

My node is within eyeshot of an AP These devices are overall fragile and sometimes a little unstable so give it all the help it can get <!-- github-comment-id:3537027342 -->
Author
Owner

Well, 2 days off, bot looks alive. didn't test it for reconnection for now but ctrl-c works as expected for the first press, not twice.

What was done:
didn't copied working dir of the bot for backup
disabled icecast2 to free up resources
disabled this script as for now it wasn't ready to present it for users (don't get it how to make map nodes active):
source /home/service5/meshing-around/venv/bin/activate
/home/service5/meshing-around/launch.sh html5

Will go for the next two days uptime and will check for reconnection too.

Well, 2 days off, bot looks alive. didn't test it for reconnection for now but ctrl-c works as expected for the first press, not twice. What was done: didn't copied working dir of the bot for backup disabled icecast2 to free up resources disabled this script as for now it wasn't ready to present it for users (don't get it how to make map nodes active): source /home/service5/meshing-around/venv/bin/activate /home/service5/meshing-around/launch.sh html5 Will go for the next two days uptime and will check for reconnection too. <!-- github-comment-id:3545730863 -->
Author
Owner

ok so it looks like i was able to reproduce problem:

Bot and node wifi connected.
Disable node for the 5-10 seconds from the power.
Reattach node to the power, wait until bot says Abrupt disconnection blablabla.

  1. No reconnection really happens.
  2. Now ctrl+c needs to be send twice to stop the bot.

2025-11-20 08:53:38,065 | DEBUG | Telemetry:1 numPacketsRx:38291 numPacketsRxErr:0 numPacketsTx:4196 numPacketsTxErr:0 ChUtil%:10.3 AirTx%:0.6 totalNodes:111 Online:46 Uptime:4d Volt:4.4 Firmware:2.7.14.e959000
2025-11-20 08:58:54,046 | WARNING | System: Abrupt Disconnection of Interface detected, attempting reconnect...
^C^C2025-11-20 09:00:38,613 | DEBUG | System: Cleaning up async tasks
2025-11-20 09:00:38,615 | DEBUG | System: Closing Autoresponder
2025-11-20 09:00:38,616 | DEBUG | System: Closing Interface1
2025-11-20 09:00:38,617 | ERROR | System: closing: [Errno 32] Broken pipe
2025-11-20 09:00:38,618 | DEBUG | System: Saving data/bbsdb.pkl
2025-11-20 09:00:38,619 | DEBUG | System: Saving Updated BBS Direct Messages data/bbsdm.pkl
2025-11-20 09:00:38,623 | DEBUG | System: BBS Messages Saved
2025-11-20 09:00:38,625 | DEBUG | System: Mesh Leaderboard saved to leaderboard.pkl
2025-11-20 09:00:38,626 | DEBUG | System: Exiting

ok so it looks like i was able to reproduce problem: Bot and node wifi connected. Disable node for the 5-10 seconds from the power. Reattach node to the power, wait until bot says Abrupt disconnection blablabla. 1. No reconnection really happens. 2. Now ctrl+c needs to be send twice to stop the bot. 2025-11-20 08:53:38,065 | DEBUG | Telemetry:1 numPacketsRx:38291 numPacketsRxErr:0 numPacketsTx:4196 numPacketsTxErr:0 ChUtil%:10.3 AirTx%:0.6 totalNodes:111 Online:46 Uptime:4d Volt:4.4 Firmware:2.7.14.e959000 2025-11-20 08:58:54,046 | WARNING | System: Abrupt Disconnection of Interface detected, attempting reconnect... ^C^C2025-11-20 09:00:38,613 | DEBUG | System: Cleaning up async tasks 2025-11-20 09:00:38,615 | DEBUG | System: Closing Autoresponder 2025-11-20 09:00:38,616 | DEBUG | System: Closing Interface1 2025-11-20 09:00:38,617 | ERROR | System: closing: [Errno 32] Broken pipe 2025-11-20 09:00:38,618 | DEBUG | System: Saving data/bbsdb.pkl 2025-11-20 09:00:38,619 | DEBUG | System: Saving Updated BBS Direct Messages data/bbsdm.pkl 2025-11-20 09:00:38,623 | DEBUG | System: BBS Messages Saved 2025-11-20 09:00:38,625 | DEBUG | System: Mesh Leaderboard saved to leaderboard.pkl 2025-11-20 09:00:38,626 | DEBUG | System: Exiting <!-- github-comment-id:3556055613 -->
Author
Owner

While testing node disconnect i have also update pip meshtastic, now it looks this while tests:

2025-11-20 09:14:28,883 | DEBUG | System: Watchdog started
2025-11-20 09:14:49,089 | WARNING | System: Low Battery Level: 0🪫 on Device: 1
Unexpected OSError, terminating meshtastic reader... [Errno 104] Connection reset by peer
2025-11-20 09:20:13,683 | WARNING | System: Abrupt Disconnection of Interface detected, attempting reconnect...
Unexpected error in deferred execution <class 'BrokenPipeError'>
Traceback (most recent call last):
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/util.py", line 311, in _run
o()
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 1136, in
lambda: pub.sendMessage("meshtastic.connection.lost", interface=self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/publisher.py", line 216, in sendMessage
topicObj.publish(**msgData)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/topicobj.py", line 452, in publish
self.__sendMessage(msgData, topicObj, msgDataSubset)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/topicobj.py", line 482, in __sendMessage
listener(data, self, allData)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/listener.py", line 237, in call
cb(**kwargs)
File "/home/service5/meshing-around/modules/system.py", line 1352, in onDisconnect
interface.close()
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/tcp_interface.py", line 80, in close
super().close()
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/stream_interface.py", line 134, in close
MeshInterface.close(self)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 148, in close
self._sendDisconnect()
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 1193, in _sendDisconnect
self._sendToRadio(m)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 1218, in _sendToRadio
self._sendToRadioImpl(toRadio)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/stream_interface.py", line 129, in _sendToRadioImpl
self._writeBytes(header + b)
File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/tcp_interface.py", line 94, in _writeBytes
self.socket.send(b)
BrokenPipeError: [Errno 32] Broken pipe

And it stays here wit no reconnection.

While testing node disconnect i have also update pip meshtastic, now it looks this while tests: 2025-11-20 09:14:28,883 | DEBUG | System: Watchdog started 2025-11-20 09:14:49,089 | WARNING | System: Low Battery Level: 0🪫 on Device: 1 Unexpected OSError, terminating meshtastic reader... [Errno 104] Connection reset by peer 2025-11-20 09:20:13,683 | WARNING | System: Abrupt Disconnection of Interface detected, attempting reconnect... Unexpected error in deferred execution <class 'BrokenPipeError'> Traceback (most recent call last): File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/util.py", line 311, in _run o() File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 1136, in <lambda> lambda: pub.sendMessage("meshtastic.connection.lost", interface=self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/publisher.py", line 216, in sendMessage topicObj.publish(**msgData) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/topicobj.py", line 452, in publish self.__sendMessage(msgData, topicObj, msgDataSubset) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/topicobj.py", line 482, in __sendMessage listener(data, self, allData) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/pubsub/core/listener.py", line 237, in __call__ cb(**kwargs) File "/home/service5/meshing-around/modules/system.py", line 1352, in onDisconnect interface.close() File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/tcp_interface.py", line 80, in close super().close() File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/stream_interface.py", line 134, in close MeshInterface.close(self) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 148, in close self._sendDisconnect() File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 1193, in _sendDisconnect self._sendToRadio(m) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/mesh_interface.py", line 1218, in _sendToRadio self._sendToRadioImpl(toRadio) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/stream_interface.py", line 129, in _sendToRadioImpl self._writeBytes(header + b) File "/home/service5/meshing-around/venv/lib/python3.11/site-packages/meshtastic/tcp_interface.py", line 94, in _writeBytes self.socket.send(b) BrokenPipeError: [Errno 32] Broken pipe And it stays here wit no reconnection. <!-- github-comment-id:3556110883 -->
Author
Owner

I can't replicate any of this.

And lots of errors look not mine.

Not much I can do sorry. Are there other apps which reconnect better?

I can't replicate any of this. And lots of errors look not mine. Not much I can do sorry. Are there other apps which reconnect better? <!-- github-comment-id:3556603892 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/meshing-around#118