-
-
Notifications
You must be signed in to change notification settings - Fork 257
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
Assertion failed: self.slab.is_empty() #417
Comments
The assertion is for internal state. If I remember correctly, we assume that all streams will have been dropped before the whole thing shuts down, otherwise we may have left a stream in an unfinished state. Maybe the assumption is just bad. |
Shall the application (or a higher level library like tower-grpc) then take care of dropping every stream handle? |
No, I think we assumed this because the store is inside an arc, and all streams have a reference, so ideally all streams have been dropped and cleaned up before the arc drops. It's a bug in h2. |
Duhza#2283 from Discord told me to paste this here. I've observed this issue with my gRPC client which uses tonic. Here is my stacktrace: https://pastebin.com/P829ZSB0?TTL=6months My bin crate was called
Hope this helps! |
A panic caused by a failed assertion in h2 0.1.26 has been observed in input-output-hk/jormungandr#881.
The assertion
self.slab.is_empty()
fails under some circumstances in theDrop
impl forproto::streams::store::Store
. The diagnostic gives me no idea whether this could be an application problem or how to mitigate it.The text was updated successfully, but these errors were encountered: