try_assign_capacity triggers debug assertion
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.6k
- Forks
- 382
- Avg merge
- 20h 23m
- Merged PRs (30d)
- 9
Description
Hi!
One of our tests occasionally triggers this debug assertion. Unfortunately, I cannot share a minimal reproduction at the moment.
thread 'tokio-runtime-worker' panicked at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/streams/prioritize.rs:448:9:
state=Closed(ScheduledLibraryReset(CANCEL))
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:697:5
1: core::panicking::panic_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:75:14
2: h2::proto::streams::prioritize::Prioritize::try_assign_capacity
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/streams/prioritize.rs:448:9
3: h2::proto::streams::prioritize::Prioritize::poll_complete
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/streams/prioritize.rs:538:22
4: h2::proto::streams::send::Send::poll_complete
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/streams/send.rs:339:14
5: h2::proto::streams::streams::Inner::poll_complete
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/streams/streams.rs:905:34
6: h2::proto::streams::streams::Streams<B,P>::poll_complete
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/streams/streams.rs:186:12
7: h2::proto::connection::Connection<T,P,B>::poll
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/proto/connection.rs:287:55
8: <h2::client::Connection<T,B> as core::future::future::Future>::poll
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/h2-0.4.13/src/client.rs:1441:33
9: <hyper::common::either::Either<F1,F2> as core::future::future::Future>::poll
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-1.8.1/src/common/either.rs:43:46
10: <hyper::proto::h2::client::ConnMapErr<T,B> as core::future::future::Future>::poll
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-1.8.1/src/proto/h2/client.rs:275:32
11: <core::pin::Pin<P> as core::future::future::Future>::poll
at /home/phueber/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:124:9
12: <hyper::proto::h2::client::ConnTask<T,B> as core::future::future::Future>::poll
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-1.8.1/src/proto/h2/client.rs:340:67
13: <hyper::proto::h2::client::H2ClientFuture<B,T,E> as core::future::future::Future>::poll
at /home/phueber/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-1.8.1/src/proto/h2/client.rs:398:58
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with h2-0.4.13/src/proto/streams/prioritize.rs at try_assign_capacity and follow its call from poll_complete, then inspect the related send and connection frames shown in the trace. The issue provides no reproduction, requested behavior, or test target, so the failure scenario and completion criteria must be established before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100