connectd: demote "Peer did not close, forcing close" to UNUSUAL
What changed, and why it matters
This commit changes only the severity level of a single log message. When Core Lightning tries to shut down a peer connection and the peer's transmit buffer stays full too long, the message 'Peer did not close, forcing close' is now logged as UNUSUAL instead of BROKEN. The change prevents automated CI alerts from treating a routine network/runtime condition as an internal software bug. There is no security fix here.
No security action required. Treat as a routine logging/severity correction.
Security signals we found
No strong security signals were identified.
Evidence from the diff
In connectd/multiplex.c, close_peer_io_timeout() previously called status_peer_broken() for a peer that did not close within the timeout. Because BROKEN-level logs are intended to flag logic errors / incorrect CLN code, and this condition is a runtime network issue (peer unresponsive, crashed, or connectivity loss), the log level was demoted to status_peer_unusual() with the CI_UNEXPECTED prefix. No functional behavior, protocol handling, or resource management changed.
Changed components
connectd/multiplex.c logging onlyInspect captured patch +1 / −2
diff --git a/connectd/multiplex.c b/connectd/multiplex.c
index d7cbf80e..0d5ac0dc 100644
--- a/connectd/multiplex.c
+++ b/connectd/multiplex.c
@@ -106,8 +106,7 @@ static void maybe_free_peer(struct peer *peer)
* not reading, we have to give up. */
static void close_peer_io_timeout(struct peer *peer)
{
- /* BROKEN means we'll trigger CI if we see it, though it's possible */
- status_peer_broken(&peer->id, "Peer did not close, forcing close");
+ status_peer_unusual(&peer->id, CI_UNEXPECTED "Peer did not close, forcing close");
io_close(peer->to_peer);
}
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.