Skip to content

Conversation

@SpudGunMan
Copy link
Contributor

The purpose of this was to alleviate the errors I see a lot of the changes are detailed

This change ensures flush() is only called if the stream is open, and logs (but ignores) any exceptions during flush or close. This should prevent "Bad file descriptor" errors. The double flush() could be code attempting to use the serial port after it had been closed. This update guards against use-after-close scenarios.

This ensures flush() is only called if the stream is open, and logs (but ignores) any exceptions during flush. This should prevent the "Bad file descriptor" error.

I see this error a lot on a rak unit, I dont know this is the way but .. you be the judge.
The double flush() is not the root cause; the real issue is that code is trying to use the serial port after it has been closed.
The error occurs both in close() (during flush()) and later in _writeBytes() (during write()), indicating the port is closed or invalid at those times.
@ianmcorvidae
Copy link
Contributor

I think this looks good, as long as CI doesn't complain.

@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

❌ Patch coverage is 63.63636% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 60.02%. Comparing base (dcd077d) to head (6f35eb3).
⚠️ Report is 8 commits behind head on master.

Files with missing lines Patch % Lines
meshtastic/serial_interface.py 63.63% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #841      +/-   ##
==========================================
+ Coverage   59.99%   60.02%   +0.03%     
==========================================
  Files          24       24              
  Lines        4267     4273       +6     
==========================================
+ Hits         2560     2565       +5     
- Misses       1707     1708       +1     
Flag Coverage Δ
unittests 60.02% <63.63%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ianmcorvidae ianmcorvidae merged commit b466225 into meshtastic:master Nov 6, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants