WIP Add large response header tests#7071
Conversation
Signed-off-by: Auni Ahsan <auni@google.com>
|
Hey @auni53 can you repro in an end to end test? I haven't dug fully into this, but the mocks in this test are set up to auto-dispatch as data is written to the connection. Given the way this test breaks down we're sending a bunch of large header continuation frames, it could be something like [start sending large header encode, which is broken into multiple frames] Adding some error logging it looks like the connection doing the encoding of large headers is receiving data while under the stack of sendPendingFrames so my guess is the problem is something like that. |
|
Please merge master to pick up #7090 |
|
This pull request has been automatically marked as stale because it has not had activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
I'm trying to add tests and upper bounds around response header size. These tests add 2^15 kb tests (our internal requirement). The http1 codec tests are fine, but the http2 tests cause codec issues I need help (probably from @mattklein123) diagnosing.
From some tweaking, I found that 2^5 kb succeeds, while 2^6 kb causes a premature connection close. This actually causes a segfault because we don't null-check the output of getStream() at (I THINK; have to double-check) http2/codec_impl.cc:528. Aside from that error-catch, there is some sort of bug in the nghttp2 code here; does anyone have experience with the nghttp2 code at all?