-
Notifications
You must be signed in to change notification settings - Fork 126
Open
Description
We have observed occasional crashes when running Vortex under high concurrency. An example stack trace and related discussion can be found here:
Our conclusion was that the oneshot crate drops stored wakers inside Receiver::drop(). When the waker is an Arc<FuturesUnordered::Task>, this can lead to re-entrant drops, triggering either:
- a safety panic: "future still here when dropping", or
- a SIGSEGV due to a use-after-free.
We fixed this by switching from oneshot to tokio::sync::oneshot. This change resolved the crashes for us, and we have not observed the issue for several weeks since making the switch.
Creating this issue to:
- help others discover this potential problem and its solution, and
- ask whether you would be open to making the same change—using
tokio::sync::oneshotwhen thetokiofeature is enabled.
Metadata
Metadata
Assignees
Labels
No labels