-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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-repl-sigint-nested-eval #45354
Conversation
@nodejs/process @nodejs/child_process Is my conjecture of |
Did you try with |
I did not test with |
Maybe there is an event that we can/should wait for before |
(All that said, I'd rather have the magic number and a working test than a forever-skipped-on-all-platforms test. We might as well remove the test in that case.) |
Maybe let's add a TODO find which event should be listened to instead of arbitrary wait 10 ms, and land it as is. wdyt? |
I would keep it flaky until the cause of the crash is found. A flaky test has an implicit TODO, the flakiness. We can add a comment specifying that delaying |
I think the issue is that the signal sent from the child process sometimes get processed by the parent process before the child process has its PTAL. |
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Fixes: nodejs#41123
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Landed in 6a22b77 |
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Fixes: #41123 PR-URL: #45354 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Fixes: #41123 PR-URL: #45354 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Fixes: #41123 PR-URL: #45354 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Fixes: #41123 PR-URL: #45354 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Fixes: #41123 PR-URL: #45354 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
There is a race condition where process.kill can be sent before the target is ready to receive the signal. Or at least that's what I think is going on. Regardless, objectively, using setTimeout() to slightly delay the invocation causes the test to not fail anymore using: tools/test.py --repeat=1000 test/parallel/test-repl-sigint-nested-eval
Fixes: #41123