-
Notifications
You must be signed in to change notification settings - Fork 47
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
Panic when dropping tokio SendHalf on Windows #71
Comments
The send_off method now properly falls back to a static tokio runtime if required.
I'm also experiencing the same problem on Windows, and flushing the SendHalf (and awaiting) before shutting down the tokio runtime doesn't seem to solve the problem I'm wondering if it would be worth it to introduce an option to sacrifice the delivery guarantee and skip the limbo entirely |
Flushing is supposed to be that option. The fact that it doesn't prevent a panic suggests an additional performance bug. |
I have encountered this error myself recently. Perhaps the |
Describe the bug
The drop implementation of a SendHalf panics with "fresh Tokio limbo helper died immediately after being created" when the SendHalf is dropped in result to a tokio runtime shutdown.
This happens because the limbo helper inside interprocess tries to spawn a task on a shutdown runtime.
The task is immediately dropped along with the passed mspc receiver. The panic occurs because the corpse sender expects a open channel.
To Reproduce
Minimal code to reproduce the panic:
https://github.com/florian-g2/interprocess-drop-panic
Expected behavior
No panic.
Notes
I have a possible fix ready in a few moments.
The text was updated successfully, but these errors were encountered: