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: fix flaky test-tls-socket-close #11921

Closed
wants to merge 7 commits into from

Conversation

Trott
Copy link
Member

@Trott Trott commented Mar 19, 2017

Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

Fixes: #11912

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows [commit guidelines][]
Affected core subsystem(s)

test tls

Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

Fixes: nodejs#11912
@Trott Trott added test Issues and PRs related to the tests. tls Issues and PRs related to the tls subsystem. labels Mar 19, 2017
@nodejs-github-bot nodejs-github-bot added the test Issues and PRs related to the tests. label Mar 19, 2017
@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

Argh! This version of the test doesn't fail/segfault on v7.0.0 the way the original version does, so I've now made the test invalid. Will mark this as stalled until I get around to fixing it or I give up and close it.

@Trott Trott added the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

Fixed it, but now have to re-run all the stress tests etc....

@Trott Trott removed the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

Current master stress test showing 28 failures in 999 runs: https://ci.nodejs.org/job/node-stress-single-test-pi1-binary/17/label=pi1-raspbian-wheezy/console

@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

Stress test against this PR that will hopefully show no failures: https://ci.nodejs.org/job/node-stress-single-test-pi1-binary/21/label=pi1-raspbian-wheezy/console

EDIT: Oof, this made it a lot worse. Back to the drawing board.

@Trott Trott added the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott Trott removed the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

OK, did some step-debugging and hopefully this will now do it...

Stress test against this PR: https://ci.nodejs.org/job/node-stress-single-test-pi1-fanned/25/

CI: https://ci.nodejs.org/job/node-test-pull-request/6922/

@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

Argh, cleaned up some unused code. Once more with feeling:

Stress test against this PR: https://ci.nodejs.org/job/node-stress-single-test-pi1-fanned/26/

CI: https://ci.nodejs.org/job/node-test-pull-request/6923/

@Trott
Copy link
Member Author

Trott commented Mar 19, 2017

All tests passing including stress test.

@jBarz
Copy link
Contributor

jBarz commented Mar 19, 2017

LGTM apart from one nit. Thanks for fixing this!

// this breaks if TLSSocket is already managing the socket:
netSocket.destroy();
const interval = setInterval(() => {
// Checking this way allows us to do the right at a time that causes a
Copy link
Contributor

Choose a reason for hiding this comment

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

s/right/write/

Trott added a commit to Trott/io.js that referenced this pull request Mar 22, 2017
Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

PR-URL: nodejs#11921
Fixes: nodejs#11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@Trott
Copy link
Member Author

Trott commented Mar 22, 2017

Landed in 7bc893f

@Trott Trott closed this Mar 22, 2017
MylesBorins pushed a commit that referenced this pull request Mar 28, 2017
Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

PR-URL: #11921
Fixes: #11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorins MylesBorins mentioned this pull request Mar 28, 2017
@italoacasas italoacasas mentioned this pull request Apr 10, 2017
2 tasks
MylesBorins pushed a commit that referenced this pull request Apr 18, 2017
Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

PR-URL: #11921
Fixes: #11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Apr 19, 2017
Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

PR-URL: #11921
Fixes: #11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorins MylesBorins mentioned this pull request Apr 19, 2017
andrew749 pushed a commit to michielbaird/node that referenced this pull request Jul 19, 2017
Replace timer/timeout race with event-based ordering, eliminating test
flakiness.

PR-URL: nodejs/node#11921
Fixes: nodejs/node#11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@Trott Trott deleted the fix-tls-socket-close branch January 13, 2022 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test Issues and PRs related to the tests. tls Issues and PRs related to the tls subsystem.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Investigate flaky parallel/test-tls-socket-close on Raspberry Pi
7 participants