-
Notifications
You must be signed in to change notification settings - Fork 30k
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-child-process-fork-dgram #9098
Conversation
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: nodejs#8697 Fixes: nodejs#8949 Fixes: nodejs#8271
/cc @gibfahn @santigimeno @mhdawson I confirmed that the test works if the child process closes its server first and that it works if the parent process closes its server first. And I also confirmed that this test works on one of the CI FreeBSD hosts where the current one fails 100% of the time. |
Small stress test (100 runs) against all available platforms for stress testing: https://ci.nodejs.org/job/node-stress-single-test/1000/ |
LGTM if CI is green |
CI failures are infra related, unrelated to this change. |
General idea LGTM, but given that I've run this test 1000+ times on AIX and macOS 10.12 without seeing any failures, it's worth being extra-thorough about making sure this fixes the test before we mark it as non-flaky. On AIX I suspect it's load-related, not sure about FreeBSD. |
CI stress test against master (so we can see if the CI stress test above that showed no related failures is meaningful): https://ci.nodejs.org/job/node-stress-single-test/1010/ EDIT: OK, stress test not meaningful. sigh EDIT 2: Although I don't think it includes the version of FreeBSD that was failing reliably. EDIT 3: Argh, yes we do, it's freebsd10-64. |
@gibfahn I am able to make the failure happen from the command line if I log into test-osuosl-aix61-ppc64_be-2 in the project test infrastructure. It seems to fail hang (which would result in the timeouts we see) about one out of every three times. With the modifications in this PR, the test is reliable. ✨ |
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: nodejs#8697 Fixes: nodejs#8949 Fixes: nodejs#8271 PR-URL: nodejs#9098 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Landed in 03afecd |
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: #8697 Fixes: #8949 Fixes: #8271 PR-URL: #9098 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
@Trott safe to assume this should be backported? It isn't landing cleanly would you be willing to submit a backport? |
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: nodejs#8697 Fixes: nodejs#8949 Fixes: nodejs#8271 PR-URL: nodejs#9098 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: nodejs#8697 Fixes: nodejs#8949 Fixes: nodejs#8271 PR-URL: nodejs#9098 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
@thealphanerd Backports done in #9558 (to v6.x-staging) and #9559 (to v4.x-staging) |
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: #8697 Fixes: #8949 Fixes: #8271 PR-URL: #9098 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
`test-child-process-fork-dgram` is unreliable on some platforms, especially FreeBSD and AIX within the project's continuous integration testing. It has also been observed to be flaky on macos. * Confirm child has received the server before sending packets * Close the server instance on the parent or child after receiving a Refs: #8697 Fixes: #8949 Fixes: #8271 PR-URL: #9098 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Checklist
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passesAffected core subsystem(s)
test dgram child_process
Description of change
test-child-process-fork-dgram
is unreliable on some platforms,especially FreeBSD and AIX within the project's continuous integration
testing. It has also been observed to be flaky on macos.
Alternative to #8697
Believed/hope to fix:
#8949
#8271