Skip to content

test: fix flaky test-tls-socket-close - #11921

Closed
Trott wants to merge 7 commits into
nodejs:masterfrom
Trott:fix-tls-socket-close
Closed

test: fix flaky test-tls-socket-close#11921
Trott wants to merge 7 commits into
nodejs:masterfrom
Trott:fix-tls-socket-close

Conversation

@Trott

@TrottTrott commented Mar 19, 2017

Copy link
Copy Markdown
Member

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
@TrottTrott added test Issues and PRs related to the tests. tls Issues and PRs related to the tls subsystem. labels Mar 19, 2017
@nodejs-github-botnodejs-github-bot added the test Issues and PRs related to the tests. label Mar 19, 2017
@Trott

Copy link
Copy Markdown
MemberAuthor

@Trott

Copy link
Copy Markdown
MemberAuthor

@Trott

Copy link
Copy Markdown
MemberAuthor

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.

@TrottTrott added the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott

Copy link
Copy Markdown
MemberAuthor

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

@TrottTrott removed the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott

Copy link
Copy Markdown
MemberAuthor

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
Copy Markdown
MemberAuthor

@Trott

Trott commented Mar 19, 2017

Copy link
Copy Markdown
MemberAuthor

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.

@TrottTrott added the stalled Issues and PRs that are stalled. label Mar 19, 2017
@TrottTrott removed the stalled Issues and PRs that are stalled. label Mar 19, 2017
@Trott

Copy link
Copy Markdown
MemberAuthor

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
Copy Markdown
MemberAuthor

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
Copy Markdown
MemberAuthor

All tests passing including stress test.

@jBarz

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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#11921Fixes: 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
Copy Markdown
MemberAuthor

Landed in 7bc893f

@TrottTrott 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: #11921Fixes: #11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorinsMylesBorins mentioned this pull request Mar 28, 2017
@italoacasasitaloacasas 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: #11921Fixes: #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: #11921Fixes: #11912
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorinsMylesBorins 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#11921Fixes: 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 freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testIssues and PRs related to the tests.tlsIssues 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

@Trott@jBarz@jasnell@santigimeno@cjihrig@MylesBorins@nodejs-github-bot