Skip to content
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

fix: panicked when a reset stream would decrement twice #685

Merged
merged 1 commit into from May 25, 2023

Conversation

seanmonstar
Copy link
Member

@seanmonstar seanmonstar commented May 23, 2023

I noticed in logs that when a stream was dropped, and thus within transition and ready to expire as a locally reset stream, it would then pop its related push promises, and those could trigger the original stream to call transition_after. The end result is that the original stream would call dec_num_reset_streams() twice.

This gets rid of a dangerous call to transition_after that is happening outside the bounds of a transition. It ends up making newer streams that are locally reset to get forgotten, instead of older streams, but that's not really better or worse.

There is a fuzz seed that triggered the panic, and with this change, that fuzz seed no longer panics.

@seanmonstar seanmonstar merged commit 04e6398 into master May 25, 2023
5 checks passed
@seanmonstar seanmonstar deleted the panic-remote-resets-not-0 branch May 25, 2023 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant