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
{{ message }}
Repository navigation
quic: stream stalls with chunks of varying sizes #63216
Please run the attached test. (It is a variation of one of the many quic tests (bidi-large), but with varying chunk size.)
Though I had to rename it to js to make github happy.
You see that it stalls after the second write.
What is also spooky, that I think that the onstream call back may throw, and we do not see it.
How often does it reproduce? Is there a required condition?
Always. It is a crafted test.
What is the expected behavior? Why is that the expected behavior?
That the test passes.
What do you see instead?
That it stalls.
Additional information
The test is actually my attempt to see whether the race conditions I saw in PR #60237 are still present.
The pattern of alternating chunk sizes is, in my experience, very effective in uncovering race conditions.
As I was able to address the race conditions in the old PR. I may look again and see if I can backport them. It were many, but hopefully it is less now. @jasnell You encouraged testing in #61741 (comment) .
What should be done? I do not want to storm again creating a PR without coordination.
Well this is issue should be enough for this weekend. If I have some spare time, today I may try to separate from the old PR the race condition related stuff out. So that you may have pointers where to search for solution.
Last time I had 4 tests (which I will port eventually) and each of them triggered 1-3 different race conditions.
That is probably the same cause, I did not check if your fix worked, but probably.
It actually a good idea to also send this chunk pattern, through an echo setting. Next weekend.
Activity
jasnell commentedon May 9, 2026
This is perfect. Don't worry about opening too many issues. We need the experimentation and the issues reported. Will investigate over the next week
martenrichter commentedon May 10, 2026
Well this is issue should be enough for this weekend. If I have some spare time, today I may try to separate from the old PR the race condition related stuff out. So that you may have pointers where to search for solution.
Last time I had 4 tests (which I will port eventually) and each of them triggered 1-3 different race conditions.
idabeck-cpu commentedon May 10, 2026
idabeck-cpu commentedon May 10, 2026
martenrichter commentedon May 10, 2026
Branch that includes the attached test:
https://github.com/martenrichter/node/tree/bidivarchunklength
jasnell commentedon May 10, 2026
#63230 should fix things up
martenrichter commentedon May 10, 2026
Perfect! Then I can try to port over the next tests.
martenrichter commentedon May 10, 2026
test-quic-stream-uni-server-initiated-varchunklength.js
That is probably the same cause, I did not check if your fix worked, but probably.
It actually a good idea to also send this chunk pattern, through an echo setting. Next weekend.
quic: fixup quic stream variable chunk len
quic: fixup quic stream variable chunk len
quic: fixup quic stream variable chunk len