Skip to content

hang when client receives header response that's too big in http2 #3724

@ajwerner

Description

@ajwerner

Version
Hyper @ 7de0237

Platform
Linux 6.5.0-42-generic

Description
When the server sends a response with headers that are too big, hyper can sometimes just hang.

I wrote this test:

// Test that clients get responses when the server sends a response with
// headers that are too large by just a bit.
t! {
long_header_response,
client:
request:
;
response:
status: 500,
headers: {
},
;
server:
request:
;
response:
status: 500,
headers: {
// Just above DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE.
"error" => ("a".repeat(16 << 10 + 1)),
},
;
}

I expected to see an error. Instead the test just blocks forever.

See hyperium/tonic#1834 and https://discord.com/channels/500028886025895936/1268954374634471484 for context.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bug. Something is wrong. This is bad!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions