Skip to content

Flaky test-stream-readable-unpipe-resume #54133

Description

@targos

Test

test-stream-readable-unpipe-resume

Platform

Linux x64

Console output

14:09:40 not ok 3695 parallel/test-stream-readable-unpipe-resume
14:09:40   ---
14:09:40   duration_ms: 120099.24600
14:09:40   severity: fail
14:09:40   exitcode: -15
14:09:40   stack: |-
14:09:40     timeout
14:09:40   ...

Build links

Additional information

No response

Activity

  1. added
    flaky-testIssues and PRs involving tests that fail intermittently in CI.
    on Jul 31, 2024
  2. targos commented on Aug 1, 2024

    @targos
    MemberAuthor
  3. lpinca commented on Sep 11, 2024

    @lpinca
    Member

    I can reproduce on Ubuntu.

    diff --git a/test/parallel/test-stream-readable-unpipe-resume.js b/test/parallel/test-stream-readable-unpipe-resume.js
    index b40f724bcc..3eeae52f5f 100644
    --- a/test/parallel/test-stream-readable-unpipe-resume.js
    +++ b/test/parallel/test-stream-readable-unpipe-resume.js
    @@ -13,7 +13,9 @@ const transformStream = new stream.Transform({
       })
     });
     
    -readStream.on('end', common.mustCall());
    +readStream.on('end', common.mustCall(function () {
    +  console.log('end');
    +}));
     
     readStream
       .pipe(transformStream)
    
    $ ./tools/test.py --repeat=10000 test/parallel/test-stream-readable-unpipe-resume
    === release test-stream-readable-unpipe-resume ===
    Path: parallel/test-stream-readable-unpipe-resume
    end
    Command: out/Release/node /home/luigi/node/test/parallel/test-stream-readable-unpipe-resume.js
    --- TIMEOUT ---
    
    
    [05:21|% 100|+ 9999|-   1]: Done
    
    Failed tests:
    out/Release/node /home/luigi/node/test/parallel/test-stream-readable-unpipe-resume.js
    

    This is yet another case (see #52550 (comment)) where the test correctly finishes (note "end" in the output) but the process does not exit.

  4. targos commented on Sep 11, 2024

    @targos
    MemberAuthor

    I wish we were able to reproduce these more reliably, because I don't know how to debug something that only happens once or twice every 10k runs!

  5. lpinca commented on Sep 11, 2024

    @lpinca
    Member

    It might be only a coincidence or a reduced failure rate, but even in this case I get no failures with the --jitless flag.

  6. avivkeller commented on Oct 15, 2024

    @avivkeller
    Member

    Hypothetically, as a short-term solution, we could call process.exit() from these tests, but that acts like a bandaid, and not a patch.

    - readStream.on('end', common.mustCall());
    + readStream.on('end', common.mustCall(() => process.exit()));
  7. lpinca commented on Oct 15, 2024

    @lpinca
    Member

    @redyetidev it does not help, see #52964 (comment).

  8. avivkeller commented on Oct 17, 2024

    @avivkeller
    Member

    Insterestingly, it seems to not fail if you change the line to:

    readStream.on('end', common.mustCall(() => queueMicrotask(process.exit)));

    I ran 10,000 runs with this change: 0 failures
    I ran 2,000 runs without this change: 4 failures

    Although this could be a coincidence?

  9. lpinca commented on Oct 17, 2024

    @lpinca
    Member

    Although this could be a coincidence?

    Yes, I think so. For example, this

    diff --git a/test/parallel/test-net-write-fully-async-hex-string.js b/test/parallel/test-net-write-fully-async-hex-string.js
    index 37b5cd75c1..b37f2acefc 100644
    --- a/test/parallel/test-net-write-fully-async-hex-string.js
    +++ b/test/parallel/test-net-write-fully-async-hex-string.js
    @@ -30,3 +30,7 @@ const server = net.createServer(common.mustCall(function(conn) {
         writeLoop();
       }));
     }));
    +
    +server.on('close', function () {
    +  queueMicrotask(process.exit);
    +});
    

    makes no difference.

  10. avivkeller commented on Oct 17, 2024

    @avivkeller
    Member

    This whole issue is strange. I wonder what task is hanging the process 🤔

  11. github-actions commented on Apr 29, 2026

    @github-actions
    Contributor

    This issue has been marked as stale due to 210 days of inactivity.
    It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.

  12. added
    staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.
    on Apr 29, 2026
  13. github-actions commented on May 30, 2026

    @github-actions
    Contributor

    This issue has been automatically closed after 30 days of inactivity following its stale status (no activity for a total of 240 days).
    If this is still relevant, feel free to reopen it or leave a comment with additional details so we can continue the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    flaky-testIssues and PRs involving tests that fail intermittently in CI.linuxIssues and PRs related to the Linux platform.staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions