You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
The text was updated successfully, but these errors were encountered: