-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spurious MustUseOneshotSender panic on zebrad shutdown #1574
Comments
Seeing the same.
^CJan 16 17:10:12.203 INFO {zebrad="8a7b0232" net="Main"}:sig{kind=SignalKind(2) name="SIGINT"}: zebrad::signal: received SIGINT, starting shutdown
The application panicked (crashed).
Message: unused oneshot sender: oneshot must be used or canceled: MustUseOneshotSender { tx: Some(Sender { inner: Inner { complete: false, data: Lock { locked: false, data: UnsafeCell }, rx_task: Lock { locked: false, data: UnsafeCell }, tx_task: Lock { locked: false, data: UnsafeCell } } }) }
Location: zebra-network/src/peer/client.rs:183
Metadata: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0: zebra_network::peer::client::drop ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
Version
zebrad 1.0.0-alpha.0
Commit a418284 "Create the global span immediately after activating tracing" from PR #1568
Platform
Linux ... 5.4.83 #1-NixOS SMP Fri Dec 11 12:23:33 UTC 2020 x86_64 GNU/Linux
Description
zebrad
can panic with a spuriousMustUseOneshotSender
panic on shutdown.I tried this:
Shutting down
zebrad
using Control-C (SIGINT)I expected to see this happen:
zebrad
exits without panickingInstead, this happened:
zebrad
panics with a spuriousMustUseOneshotSender
error, even though the sender invariant is irrelevant during shutdown.Possible Solutions
Stop enforcing and relying on the sender invariant during shutdown:
MustUseOneshotSender
errorsClient
s should stop polling the backgroundReceiver
s tied to theirSenders
Commands
zebrad start
from a debug build, using the default configRelated Issues
We should re-test the fix for this issue after #1351, because it will change the interrupt handler so it works even when
zebrad
is busy.#1576 is a similar panic in the checkpointer during shutdown.
Logs
The text was updated successfully, but these errors were encountered: