Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec Http2/6.9.2/1 is racy #115

Closed
lorban opened this issue Jun 8, 2020 · 2 comments
Closed

Spec Http2/6.9.2/1 is racy #115

lorban opened this issue Jun 8, 2020 · 2 comments

Comments

@lorban
Copy link
Contributor

lorban commented Jun 8, 2020

I believe the 6.9.2. Initial Flow-Control Window Size test is racy.

After sending a SETTINGS frame setting the window size to zero and gating on the reception of the ACK, the test then goes on to sends a HEADERS frame immediately followed by setting the window size to one byte. It then waits for the SETTINGS frame modifying the window size to be ACK'ed then waits for a DATA frame with a 1 byte payload.

The problem I see is that the responses to the HEADERS frame as well as the following SETTINGS frame could arrive in any order. This means that the DATA response frame containing 1 byte could arrive before the SETTINGS ACK frame. When that happens, the test's VerifySettingsFrameWithAck would drop the DATA frame which would lead to the test timing out despite the fact that the expected DATA response frame arrived but was mistakenly dropped.

Here is a tcpdump capture of this exact sequence: 6_9_2_failure.pcap.gz

@olamy
Copy link

olamy commented Aug 18, 2020

can be closed :)

@summerwind
Copy link
Owner

Fixed in #117. Thanks!

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

No branches or pull requests

3 participants