Skip to content

test: deflake test-http2-options-max-headers-block-length - #57959

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
lpinca:deflake/test-http2-options-max-headers-block-length
Apr 24, 2025
Merged

test: deflake test-http2-options-max-headers-block-length#57959
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
lpinca:deflake/test-http2-options-max-headers-block-length

Conversation

@lpinca

Copy link
Copy Markdown
Member

The socket can be closed while data is still being written, causing an ECONNRESET error to be emitted on the client. Add a listener for it.

The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
@nodejs-github-botnodejs-github-bot added needs-ci PRs that need a full CI run. test Issues and PRs related to the tests. labels Apr 21, 2025
@lpinca

Copy link
Copy Markdown
MemberAuthor

See https://ci.nodejs.org/job/node-test-commit-osx/64691/nodes=osx13-arm64/testReport/junit/(root)/parallel/test_http2_options_max_headers_block_length/

---
duration_ms: 59.337
exitcode: 1
severity: fail
stack: |-
node:events:485
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onStreamRead (node:internal/stream_base_commons:216:20)
Emitted 'error' event on ClientHttp2Session instance at:
at emitClose (node:internal/http2/core:1123:10)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
errno: -54,
code: 'ECONNRESET',
syscall: 'read'
}
Node.js v24.0.0-pre
...

@lpinca

Copy link
Copy Markdown
MemberAuthor

It is also easy to reproduce locally.

$ npx envinfo --system
System:
OS: macOS 15.4.1
CPU: (16) x64 Intel(R) Xeon(R) W-2140B CPU @ 3.20GHz
Memory: 9.61 GB / 32.00 GB
Shell: 5.2.37 - /usr/local/bin/bash

Before

$ ./tools/test.py --repeat=1000 test/parallel/test-http2-options-max-headers-block-length.js === release test-http2-options-max-headers-block-length === Path: parallel/test-http2-options-max-headers-block-length
node:events:485
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onStreamRead (node:internal/stream_base_commons:216:20)
Emitted 'error' event on ClientHttp2Session instance at:
at emitClose (node:internal/http2/core:1123:10)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
errno: -54,
code: 'ECONNRESET',
syscall: 'read'
}
Node.js v24.0.0-pre
Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /Users/luigi/code/node/test/parallel/test-http2-options-max-headers-block-length.js
...
[00:13|% 100|+ 983|- 17]: Done
Failed tests:
out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /Users/luigi/code/node/test/parallel/test-http2-options-max-headers-block-length.js
....

After

$ ./tools/test.py --repeat=1000 test/parallel/test-http2-options-max-headers-block-length.js [00:13|% 100|+ 1000|- 0]: Done All tests passed.

@codecov

codecovBot commented Apr 21, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.27%. Comparing base (e773e09) to head (4bde5e9).
Report is 20 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@## main #57959 +/- ##
=======================================
Coverage 90.26% 90.27% =======================================
Files 630 630 Lines 186137 186142 +5 Branches 36476 36480 +4 =======================================
+ Hits 168018 168041 +23 + Misses 10979 10978 -1 + Partials 7140 7123 -17 

see 25 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@lpincalpinca added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 21, 2025
@github-actionsgithub-actionsBot added request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Apr 21, 2025
@github-actions

Copy link
Copy Markdown
Contributor
Failed to start CI
 ⚠ No approving reviews found
✘ Refusing to run CI on potentially unsafe PR
https://github.com/nodejs/node/actions/runs/14574096677

Comment threadtest/parallel/test-http2-options-max-headers-block-length.js
@LiviaMedeirosLiviaMedeiros added request-ci Add this label to start a Jenkins CI on a PR. and removed request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. labels Apr 21, 2025
@github-actionsgithub-actionsBot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 21, 2025
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@joyeecheungjoyeecheung left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It feels like a gotcha in the API to me that the client can get another error event if the goaway is not coming in fast enough when the client reads the socket (or is that a bug? cc @nodejs/http2 )..but then the docs doesn't say that it's impossible anyway.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@LiviaMedeirosLiviaMedeiros added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Apr 22, 2025
@lpincalpinca added the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 24, 2025
@nodejs-github-botnodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 24, 2025
@nodejs-github-bot
nodejs-github-bot merged commit 555aeb3 into nodejs:mainApr 24, 2025
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Landed in 555aeb3

@lpinca
lpinca deleted the deflake/test-http2-options-max-headers-block-length branch April 24, 2025 05:08
RafaelGSS pushed a commit that referenced this pull request May 1, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
RafaelGSS pushed a commit that referenced this pull request May 2, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
aduh95 pushed a commit that referenced this pull request May 6, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
aduh95 pushed a commit that referenced this pull request May 6, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
RafaelGSS pushed a commit that referenced this pull request May 14, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
aduh95 pushed a commit that referenced this pull request May 16, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
aduh95 pushed a commit that referenced this pull request May 17, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
aduh95 pushed a commit that referenced this pull request May 18, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
aduh95 pushed a commit that referenced this pull request May 19, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
marco-ippolito pushed a commit that referenced this pull request Jun 5, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
marco-ippolito pushed a commit that referenced this pull request Jun 5, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
@marco-ippolitomarco-ippolito mentioned this pull request Jun 5, 2025
@ghostghost mentioned this pull request Jun 8, 2025
marco-ippolito pushed a commit that referenced this pull request Jun 10, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
marco-ippolito pushed a commit that referenced this pull request Jun 11, 2025
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.
PR-URL: #57959
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.needs-ciPRs that need a full CI run.testIssues and PRs related to the tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lpinca@nodejs-github-bot@joyeecheung@LiviaMedeiros@bjohansebas