From e0b68431033775d5b8a64f918800b1e29ea46262 Mon Sep 17 00:00:00 2001 From: PastaClaw Date: Tue, 17 Feb 2026 13:53:37 -0600 Subject: [PATCH] fix: handle broadcast RecvError::Lagged gracefully in maintenance loop - Replace tracing::error! with log macros for consistency with the rest of the file - Distinguish RecvError::Lagged from RecvError::Closed: lagged just means we missed some events (log warning and continue), while closed means the channel is gone (log error and break) --- dash-spv/src/network/manager.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dash-spv/src/network/manager.rs b/dash-spv/src/network/manager.rs index 41232ba08..03073c623 100644 --- a/dash-spv/src/network/manager.rs +++ b/dash-spv/src/network/manager.rs @@ -883,8 +883,11 @@ impl PeerNetworkManager { dns_interval.reset(); this.maintenance_tick().await; } - Err(error) => { - tracing::error!("Network event error: {}", error); + Err(broadcast::error::RecvError::Lagged(n)) => { + log::warn!("Network event receiver lagged by {} messages", n); + } + Err(broadcast::error::RecvError::Closed) => { + log::error!("Network event channel closed"); break; } }