Skip to content

Conversation

@LPardue
Copy link
Contributor

@LPardue LPardue commented Dec 9, 2025

This attempts to use a unit test to emulate the behaviour described in #2277, where the peer clams to send a DATA frame of length N but sends fewer bytes than that and resets the stream. This seems to trigger an erroneous Event::Finished event that confuses applications.

Ideally, we fix the underlying logic and thus will need to change the test to match.

@LPardue LPardue mentioned this pull request Dec 9, 2025
@LPardue
Copy link
Contributor Author

LPardue commented Dec 10, 2025

@icing can you try this branch out to see if it addresses your failing curl tests?

@icing
Copy link

icing commented Dec 10, 2025

Thanks @LPardue , with this patch I can no longer reproduce the bug.

I'll disable the test in curl until we see a quiche version higher than 0.24.4.

icing added a commit to icing/curl that referenced this pull request Dec 10, 2025
Let nhttpx only use http/1.1 to backend. This reproduces the
bug in quiche with higher frequency. Allow test_14_05 to now
return a 400 in addition to the 431 we get from a h2 backend
to nghttpx.

Skip test_05_02 in h3 on quiche not newer than version 0.24.4
in which its bug is fixed (cloudflare/quiche#2278)
vszakats pushed a commit to curl/curl that referenced this pull request Dec 10, 2025
Let nghttpx only use http/1.1 to backend. This reproduces the bug in
quiche with higher frequency. Allow test_14_05 to now return a 400 in
addition to the 431 we get from a h2 backend to nghttpx.

Skip test_05_02 in h3 on quiche not newer than version 0.24.4 in which
its bug is fixed: cloudflare/quiche#2278

Ref: cloudflare/quiche#2277
Closes #19770 (original Issue)
Closes #19916
@LPardue LPardue marked this pull request as ready for review December 11, 2025 18:40
@LPardue LPardue requested a review from a team as a code owner December 11, 2025 18:41
@LPardue LPardue force-pushed the lucas/mid-data-reset-as-finished branch from 8f79de7 to 0167337 Compare December 11, 2025 18:42
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.

2 participants