Skip to content

quic: stream stalls with chunks of varying sizes #63216

@martenrichter

Description

@martenrichter

Version

v27.0.0-pre aka current git branch

Platform

Windows, build from git. Other quick tests (including the original) I have manually checked seem to work fine.

Subsystem

quic

What steps will reproduce the bug?

test-quic-stream-bidi-varchunklen.js

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.

I hope did not miss anything in the test change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions