Skip to content

Conversation

@lpinca
Copy link
Member

@lpincalpinca commented Sep 9, 2023

Hard code the value of the host parameter to common.localhostIPv4 in
server.listen() and net.connect(). This

  1. ensures that the client socket._handle is not reinitialized during
    connection due to the family autodetection algorithm, preventing
    parser.consume() from being called with an invalid socket._handle
    parameter.
  2. works around an issue in the FreeBSD 12 machine where the stress test
    is run where some sockets get stuck after connection.

Closes: #49565
Fixes: #49564

@nodejs-github-botnodejs-github-bot added needs-ci PRs that need a full CI run. test Issues and PRs related to the tests. labels Sep 9, 2023
@lpinca

This comment was marked as outdated.

@lpincalpinca added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 9, 2023
@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 9, 2023
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@lpinca
Copy link
MemberAuthor

@lpincalpinca added the blocked PRs that are blocked by other issues or PRs. label Sep 9, 2023
@lpinca
Copy link
MemberAuthor

It seems that data stops flowing in the FreeBSD 12 machine where the stress test is run. Here is an example https://ci.nodejs.org/view/Stress/job/node-stress-single-test/429/. I don't know why. I can't reproduce the issue in a locally installed FreeBSD 12 VM.

@lpincalpinca marked this pull request as draft September 10, 2023 13:26
@lpincalpincaforce-pushed the deflake/test-http-regr-gh-2928 branch from f06e780 to 68fcb02CompareSeptember 10, 2023 13:55
@lpincalpinca marked this pull request as ready for review September 10, 2023 15:20
@lpincalpinca added commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. and removed blocked PRs that are blocked by other issues or PRs. labels Sep 10, 2023
@lpincalpincaforce-pushed the deflake/test-http-regr-gh-2928 branch from 6250590 to a2f0ca3CompareSeptember 10, 2023 15:24
Hard code the value of the host parameter to `common.localhostIPv4` in `server.listen()` and `net.connect()`. This 1. ensures that the client `socket._handle` is not reinitialized during connection due to the family autodetection algorithm, preventing `parser.consume()` from being called with an invalid `socket._handle` parameter. 2. works around an issue in the FreeBSD 12 machine where the stress test is run where some sockets get stuck after connection. Closes: nodejs#49565Fixes: nodejs#49564
@lpincalpincaforce-pushed the deflake/test-http-regr-gh-2928 branch from a2f0ca3 to 6db17f7CompareSeptember 10, 2023 15:25
@lpincalpinca removed the commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. label Sep 10, 2023
@lpinca
Copy link
MemberAuthor

I now occasionally get a connect ETIMEDOUT error when running

$ python3 tools/test.py --repeat=100 test/sequential/test-http-regr-gh-2928.js 

on macOS but that can probably be fixed by reducing the number of sockets. The test does not need to create 1k sockets. Let's see how it goes.

@lpinca
Copy link
MemberAuthor

lpinca commented Sep 10, 2023

The reason why some sockets get stuck with no data flowing on the FreeBSD 12 machine when the host is not specified should be investigated (faulty IPv6?, buggy family autodetection?) but I think it should not block this.

@lpincalpinca added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 10, 2023
@lpinca
Copy link
MemberAuthor

@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 10, 2023
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

lpinca added a commit to lpinca/node that referenced this pull request Sep 10, 2023
@nodejs-github-bot
Copy link
Collaborator

@lpinca
Copy link
MemberAuthor

cc: @nodejs/testing

@joyeecheung
Copy link
Member

Is it in shape for review now? (Can’t say for sure from the thread)

@lpinca
Copy link
MemberAuthor

@joyeecheung yes.

@lpincalpinca added the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 18, 2023
@nodejs-github-botnodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Sep 18, 2023
@nodejs-github-bot
Copy link
Collaborator

Commit Queue failed
- Loading data for nodejs/node/pull/49574 ✔ Done loading data for nodejs/node/pull/49574 ----------------------------------- PR info ------------------------------------ Title test: deflake test-http-regr-gh-2928 (#49574) ⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile! Branch lpinca:deflake/test-http-regr-gh-2928 -> nodejs:main Labels test, needs-ci Commits 1 - test: deflake test-http-regr-gh-2928 Committers 1 - Luigi Pinca PR-URL: https://github.com/nodejs/node/pull/49574 Fixes: https://github.com/nodejs/node/pull/49565 Fixes: https://github.com/nodejs/node/issues/49564 Reviewed-By: Yagiz Nizipli Reviewed-By: James M Snell ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/49574 Fixes: https://github.com/nodejs/node/pull/49565 Fixes: https://github.com/nodejs/node/issues/49564 Reviewed-By: Yagiz Nizipli Reviewed-By: James M Snell -------------------------------------------------------------------------------- ℹ This PR was created on Sat, 09 Sep 2023 12:59:22 GMT ✔ Approvals: 2 ✔ - Yagiz Nizipli (@anonrig) (TSC): https://github.com/nodejs/node/pull/49574#pullrequestreview-1618710274 ✔ - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/49574#pullrequestreview-1629983759 ✔ Last GitHub CI successful ℹ Last Full PR CI on 2023-09-10T19:40:28Z: https://ci.nodejs.org/job/node-test-pull-request/53872/ - Querying data for job/node-test-pull-request/53872/ ✔ Last Jenkins CI successful -------------------------------------------------------------------------------- ✔ No git cherry-pick in progress ✔ No git am in progress ✔ No git rebase in progress -------------------------------------------------------------------------------- - Bringing origin/main up to date... From https://github.com/nodejs/node * branch main -> FETCH_HEAD 5c39ee6f87..b651e37d2e main -> origin/main ✔ origin/main is now up-to-date main is out of sync with origin/main. Mismatched commits: - b651e37d2e 2023-09-18, Version 20.7.0 (Current) -------------------------------------------------------------------------------- HEAD is now at b651e37d2e 2023-09-18, Version 20.7.0 (Current) ✔ Reset to origin/main - Downloading patch for 49574 From https://github.com/nodejs/node * branch refs/pull/49574/merge -> FETCH_HEAD ✔ Fetched commits as b651e37d2e36..6db17f7c5518 -------------------------------------------------------------------------------- [main 26c4258a63] test: deflake test-http-regr-gh-2928 Author: Luigi Pinca Date: Sat Sep 9 14:44:31 2023 +0200 1 file changed, 2 insertions(+), 2 deletions(-) ✔ Patches applied -------------------------------------------------------------------------------- ⚠ Found Fixes: https://github.com/nodejs/node/issues/49564, skipping.. --------------------------------- New Message ---------------------------------- test: deflake test-http-regr-gh-2928 

Hard code the value of the host parameter to common.localhostIPv4 in
server.listen() and net.connect(). This

  1. ensures that the client socket._handle is not reinitialized during
    connection due to the family autodetection algorithm, preventing
    parser.consume() from being called with an invalid socket._handle
    parameter.
  2. works around an issue in the FreeBSD 12 machine where the stress test
    is run where some sockets get stuck after connection.

Closes: #49565
Fixes: #49564
PR-URL: #49574
Fixes: #49565
Reviewed-By: Yagiz Nizipli [email protected]
Reviewed-By: James M Snell [email protected]

[main 9756b0d684] test: deflake test-http-regr-gh-2928
Author: Luigi Pinca [email protected]
Date: Sat Sep 9 14:44:31 2023 +0200
1 file changed, 2 insertions(+), 2 deletions(-)
✖ 9756b0d68462303f0e35346e6df4bb695fcbf022
✔ 0:0 no Co-authored-by metadata co-authored-by-is-trailer
✔ 12:7 Valid fixes URL. fixes-url
✖ 14:7 Pull request URL must reference a comment or discussion. fixes-url
✔ 0:0 blank line after title line-after-title
✔ 0:0 line-lengths are valid line-length
✔ 0:0 metadata is at end of message metadata-end
✔ 13:8 PR-URL is valid. pr-url
✔ 0:0 reviewers are valid reviewers
✔ 0:0 valid subsystems subsystem
✔ 0:0 Title is formatted correctly. title-format
✔ 0:0 Title is <= 50 columns. title-length

ℹ Please fix the commit message and try again.
Please manually ammend the commit message, by running
git commit --amend
Once commit message is fixed, finish the landing command running
git node land --continue

https://github.com/nodejs/node/actions/runs/6226235586

lpinca added a commit that referenced this pull request Sep 18, 2023
Hard code the value of the host parameter to `common.localhostIPv4` in `server.listen()` and `net.connect()`. This 1. ensures that the client `socket._handle` is not reinitialized during connection due to the family autodetection algorithm, preventing `parser.consume()` from being called with an invalid `socket._handle` parameter. 2. works around an issue in the FreeBSD 12 machine where the stress test is run where some sockets get stuck after connection. PR-URL: #49574Closes: #49565Fixes: #49564 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]>
@lpinca
Copy link
MemberAuthor

Landed in 18e00a5.

@lpincalpinca closed this Sep 18, 2023
@lpincalpinca deleted the deflake/test-http-regr-gh-2928 branch September 18, 2023 18:16
ruyadorno pushed a commit that referenced this pull request Sep 28, 2023
Hard code the value of the host parameter to `common.localhostIPv4` in `server.listen()` and `net.connect()`. This 1. ensures that the client `socket._handle` is not reinitialized during connection due to the family autodetection algorithm, preventing `parser.consume()` from being called with an invalid `socket._handle` parameter. 2. works around an issue in the FreeBSD 12 machine where the stress test is run where some sockets get stuck after connection. PR-URL: #49574Closes: #49565Fixes: #49564 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]>
This was referenced Sep 28, 2023
alexfernandez pushed a commit to alexfernandez/node that referenced this pull request Nov 1, 2023
Hard code the value of the host parameter to `common.localhostIPv4` in `server.listen()` and `net.connect()`. This 1. ensures that the client `socket._handle` is not reinitialized during connection due to the family autodetection algorithm, preventing `parser.consume()` from being called with an invalid `socket._handle` parameter. 2. works around an issue in the FreeBSD 12 machine where the stress test is run where some sockets get stuck after connection. PR-URL: nodejs#49574Closes: nodejs#49565Fixes: nodejs#49564 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]>
richardlau pushed a commit that referenced this pull request Apr 17, 2024
Hard code the value of the host parameter to `common.localhostIPv4` in `server.listen()` and `net.connect()`. This 1. ensures that the client `socket._handle` is not reinitialized during connection due to the family autodetection algorithm, preventing `parser.consume()` from being called with an invalid `socket._handle` parameter. 2. works around an issue in the FreeBSD 12 machine where the stress test is run where some sockets get stuck after connection. PR-URL: #49574 Backport-PR-URL: #52384Closes: #49565Fixes: #49564 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]>
abhishekumar-tyagi pushed a commit to abhishekumar-tyagi/node that referenced this pull request May 5, 2024
Hard code the value of the host parameter to `common.localhostIPv4` in `server.listen()` and `net.connect()`. This 1. ensures that the client `socket._handle` is not reinitialized during connection due to the family autodetection algorithm, preventing `parser.consume()` from being called with an invalid `socket._handle` parameter. 2. works around an issue in the FreeBSD 12 machine where the stress test is run where some sockets get stuck after connection. PR-URL: nodejs/node#49574Closes: nodejs/node#49565Fixes: nodejs/node#49564 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]>
@richardlaurichardlau mentioned this pull request May 16, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commit-queue-failedAn error occurred while landing this pull request using GitHub Actions.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.

test-http-regr-gh-2928 is flaky

5 participants

@lpinca@nodejs-github-bot@joyeecheung@jasnell@anonrig