Repository navigation
flaky: parallel/test-http2-* on Windows #20750
Description
Activity
- addedwindowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.testIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.flaky-testIssues and PRs involving tests that fail intermittently in CI.Issues and PRs involving tests that fail intermittently in CI.http2Issues and PRs related to the http2 subsystem.Issues and PRs related to the http2 subsystem.
on May 15, 2018 This happens as a result of the recent change to destroy the socket properly but it might be revealing an actual bug rather than just being a flaky test. That test does a pretty basic pipe operation, it shouldn't ever trigger an ECONNRESET.
ping @nodejs/http2
Reacted by Rich Trott, سروش اربابی, tacoto12 and hardtolove2019This also just happened in
parallel/test-http2-client-upload. Same root cause. It's definitely a bug.For posterity (since the link provided by @apapirovski will eventually 404):
not ok 231 parallel/test-http2-client-upload --- duration_ms: 0.220 severity: fail exitcode: 1 stack: |- (node:2492) ExperimentalWarning: The http2 module is an experimental API. events.js:167 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at TCP.onread (net.js:658:25) Emitted 'error' event at: at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3) at process._tickCallback (internal/process/next_tick.js:63:19) ...
Host: test-azure_msft-win2016-x64-2
The fact that it's happening on both Azure and Rackspace, win2008 and win2016, seems to suggest (to me at least) a bug in Node.js or a dependency like libuv.
Pretty sure it's because we use
setImmediateto destroy rather than having some more certain method of confirming that everything has been sent and we're truly done. Hopefully someone else from the http2 team will have a look soon. I'm not on Windows and it's not a problem on macOS as far as I can tell.The bug on pipe happens on a mac too.
@mcollina I can't seem to replicate on mine :( This is what I run it with:
tools/test.py -j 96 --repeat 960 parallel/test-http2-pipe.I also can't replicate on macOS nor do I see instances looking through macOS failures in Ci. It may very well be a bug on macOS too, but if so, we're definitely seeing it with much greater frequency on Windows in CI.
I'm testing a possible fix in https://ci.nodejs.org/job/node-stress-single-test/1845/ and https://ci.nodejs.org/job/node-test-commit-windows-fanned/18023/
=== release test-http2-pipe === Path: parallel/test-http2-pipe (node:37337) ExperimentalWarning: The http2 module is an experimental API. events.js:167 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at TCP.onread (net.js:658:25) Emitted 'error' event at: at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3) at process._tickCallback (internal/process/next_tick.js:63:19) Command: out/Release/node /Users/matteo/Repositories/node/test/parallel/test-http2-pipe.js [01:05|% 100|+ 938|- 22]: DoneOn my system.
- addedconfirmed-bugIssues and PRs for confirmed bugs.Issues and PRs for confirmed bugs.and removedflaky-testIssues and PRs involving tests that fail intermittently in CI.Issues and PRs involving tests that fail intermittently in CI.
on May 19, 2018 118 remaining items
- added 2 commits that reference this issue
on Mar 15, 2020 - added a commit that references this issue
on Mar 30, 2020 - added 2 commits that reference this issue
on Mar 16, 2021 - added 2 commits that reference this issue
on May 1, 2021 - added 2 commits that reference this issue
on Jul 27, 2026
@nodejs/build @nodejs/platform-windows @nodejs/testing @nodejs/http2
[refack: edited info and added link to test file]