Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: deflake test-http-regr-gh-2928 #49574

Closed
wants to merge 1 commit into from

Conversation

lpinca
Copy link
Member

@lpinca lpinca 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-bot nodejs-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.

@lpinca lpinca added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 9, 2023
@github-actions github-actions bot 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
Member Author

lpinca commented Sep 9, 2023

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

lpinca commented Sep 10, 2023

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.

@lpinca lpinca marked this pull request as draft September 10, 2023 13:26
@lpinca lpinca force-pushed the deflake/test-http-regr-gh-2928 branch from f06e780 to 68fcb02 Compare September 10, 2023 13:55
@lpinca lpinca marked this pull request as ready for review September 10, 2023 15:20
@lpinca lpinca 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
@lpinca lpinca force-pushed the deflake/test-http-regr-gh-2928 branch from 6250590 to a2f0ca3 Compare September 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#49565
Fixes: nodejs#49564
@lpinca lpinca force-pushed the deflake/test-http-regr-gh-2928 branch from a2f0ca3 to 6db17f7 Compare September 10, 2023 15:25
@lpinca lpinca 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
Member Author

lpinca commented Sep 10, 2023

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
Member Author

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.

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

lpinca commented Sep 10, 2023

@github-actions github-actions bot 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
Member Author

lpinca commented Sep 15, 2023

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
Member Author

lpinca commented Sep 16, 2023

@joyeecheung yes.

@lpinca lpinca added the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 18, 2023
@nodejs-github-bot nodejs-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 yagiz@nizipli.com
Reviewed-By: James M Snell jasnell@gmail.com

[main 9756b0d684] test: deflake test-http-regr-gh-2928
Author: Luigi Pinca luigipinca@gmail.com
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: #49574
Closes: #49565
Fixes: #49564
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@lpinca
Copy link
Member Author

lpinca commented Sep 18, 2023

Landed in 18e00a5.

@lpinca lpinca closed this Sep 18, 2023
@lpinca lpinca 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: #49574
Closes: #49565
Fixes: #49564
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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#49574
Closes: nodejs#49565
Fixes: nodejs#49564
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@lpinca lpinca added the backport-open-v18.x Indicate that the PR has an open backport. label Apr 6, 2024
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: #52384
Closes: #49565
Fixes: #49564
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@lpinca lpinca added backported-to-v18.x PRs backported to the v18.x-staging branch. and removed backport-open-v18.x Indicate that the PR has an open backport. labels Apr 17, 2024
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#49574
Closes: nodejs/node#49565
Fixes: nodejs/node#49564
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@richardlau richardlau mentioned this pull request May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backported-to-v18.x PRs backported to the v18.x-staging branch. commit-queue-failed An error occurred while landing this pull request using GitHub Actions. needs-ci PRs that need a full CI run. test Issues 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