You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: zebra-network/src/peer/connection.rs
+10-21Lines changed: 10 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -525,31 +525,20 @@ where
525
525
.lock()
526
526
.expect("mutex should be unpoisoned");
527
527
ifletSome(original_error) = guard.clone(){
528
-
// A failed connection might experience further errors if we:
529
-
// 1. concurrently process two different messages
530
-
// 2. check for a failed state for the second message
531
-
// 3. fail the connection due to the first message
532
-
// 4. fail the connection due to the second message
533
-
//
534
-
// It's not clear:
535
-
// * if this is actually a bug,
536
-
// * how we can modify Zebra to avoid it.
537
-
//
538
-
// This warning can also happen due to these bugs:
528
+
// This panic typically happens due to these bugs:
539
529
// * we mark a connection as failed without using fail_with
540
530
// * we call fail_with without checking for a failed connection
541
531
// state
542
532
//
543
-
// See the original bug #1510, the initial fix #1531, and the later
544
-
// bug #1599.
545
-
warn!(?original_error,
546
-
new_error = ?e,
547
-
connection_state = ?self.state,
548
-
client_receiver = ?self.client_rx,
549
-
"calling fail_with on already-failed connection state: ignoring new error");
550
-
// we don't need to clean up the connection, the original call to
551
-
// fail_with does that
552
-
return;
533
+
// See the original bug #1510 and PR #1531, and the later bug #1599
534
+
// and PR #1600.
535
+
panic!(
536
+
"calling fail_with on already-failed connection state: failed connections must stop processing pending requests and responses, then close the connection. state: {:?} original error: {:?} new error: {:?} client receiver: {:?}",
0 commit comments