Repository navigation
test: deflake test-process-timeout-blocked - #67481
Open
christianaurichzm wants to merge 1 commit into
Open
christianaurichzm wants to merge 1 commit into
christianaurichzm wants to merge 1 commit into
Conversation
The fixtures that exit while a Worker is blocked created their file in an 'exit' listener, before the process actually starts exiting, e.g. while an uncaught error is still being formatted. If the deadline expired in between, the main thread handled the timeout and the test failed instead of retrying. The main thread cannot do that once it is exiting, so retry when it did, and drop the 'exit' listeners. Signed-off-by: Christian Aurich Zanettini Martins <christian.aurichzm@gmail.com>
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
test-process-timeout-blockedfails intermittently on the Windows 11 arm64 machines when, in thethrow/rejectcases, the 1000 ms deadline expires while the main thread is still formatting the uncaught error. The main thread then handles the timeout itself, so the expected message is not printed.The fixtures that exit create their ready file in an
'exit'listener, which runs before the error is formatted, so the test did not retry. The main thread cannot handle the timeout once the process is exiting, so the test now retries when it did, and those fixtures no longer create the file. The assertions are unchanged.With the first timeout lowered to 56-90 ms, where that formatting happens on x64,
mainfails 8/490 runs, all with the CI output, and this change 0/490. Unmodified, the test passes 300/300 withtools/test.py -j12 --repeat=300.Refs: nodejs/reliability#1724