Skip to content

Conversation

lthiery
Copy link

@lthiery lthiery commented Sep 11, 2025

I ran into some lockups running hyper with some custom futures. If one of my futures is ready when polled, the waker is never signaled and I think this uncovered a logical issue with the http1 poll_loop. That it to say, if the poll_write is demonstrating readiness to write and the connection has readiness to write, we should do that or else hyper may stall.

I built a pathological example "ready_stream.rs" - you can run it from this branch with: RUSTFLAGS='--cfg hyper_unstable_tracing' cargo test --test ready_stream --features full,tracing.

I provided a proposed patch for the poll_loop, but I'm open to other angles on this.

@lthiery lthiery force-pushed the lthiery/wants-write-again branch from 4862c20 to b806fb9 Compare September 11, 2025 17:36
@lthiery lthiery force-pushed the lthiery/wants-write-again branch from b806fb9 to f2aa734 Compare September 11, 2025 20:38
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.

1 participant