hyperium / hyperium/hyper

HTTP/2 multiplexing?

Open
#2,761 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-client A-ffi A-http2 C-bug E-medium
Dominant language
Rust
Stars
16.3k
Forks
1.8k
Avg merge
1d 22h
Merged PRs (30d)
14

Description

Version

Hyper/0.14.17
h2/0.3,9

Platform
Linux x86_64

Description
I build curl to use hyper for HTTP/2 over HTTPS, but when I try to multiplex h2 over a single connection I get http2 error: connection error received: frame with invalid size errors. Reproducible, every time.

I build curl and hyper from git and run this libcurl example: https://curl.se/libcurl/c/http2-download.html changed to download a 20MB file.

I cannot find any documentation explaining if I need to do anything special to get multiplexing going (I'm using the C API, is there any documentation at all?). I also can't figure out how to get hyper to tell me more info so that I can figure out more exactly what's going wrong.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with the linked libcurl http2-download example, Hyper 0.14.17, h2 0.3.9, and a 20MB download over one connection. Investigate the invalid-size HTTP/2 error and how the C API exposes multiplexing and diagnostics; done means identifying the cause or required usage and documenting the result.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, rust
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.