This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Fix some races in the platform isolate tests#51358
Merged
auto-submit[bot] merged 1 commit intoflutter:mainfrom Mar 12, 2024
Merged
Fix some races in the platform isolate tests#51358auto-submit[bot] merged 1 commit intoflutter:mainfrom
auto-submit[bot] merged 1 commit intoflutter:mainfrom
Conversation
* Do not check IsolateIsShutdown after CreateAndRegisterIsolate in the MultithreadedCreation test. The test's main thread could run ShutdownPlatformIsolates between a worker thread's calls to CreateAndRegisterIsolate and IsolateIsShutdown. If that happens, IsolateIsShutdown will return true even though CreateAndRegisterIsolate succeeded. * Change the is_registered flag to was_registered and do not clear it during isolate shutdown Tests like MultithreadedCreation need to know whether RegisterPlatformIsolate succeeded so they can determine if the isolate will be shut down by ShutdownPlatformIsolates or if it needs to be shut down explicitly. If the flag is cleared during shutdown, then the test may see an isolate that was successfully registered and shut down and think that it was never registered.
zanderso
approved these changes
Mar 12, 2024
Member
zanderso
left a comment
There was a problem hiding this comment.
I think I don't understand this code well enough to review, but rubber stamping to land if this is causing flakes.
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Mar 12, 2024
auto-submit bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Mar 13, 2024
flutter/engine@e25e977...ea848c3 2024-03-12 [email protected] Fix some races in the platform isolate tests (flutter/engine#51358) 2024-03-12 [email protected] Roll Skia from 187488b64570 to bbe453e3525d (1 revision) (flutter/engine#51366) 2024-03-12 [email protected] [web] make addView/removeView functions sync (flutter/engine#51103) 2024-03-12 [email protected] Roll Dart SDK from 7f26f32f374f to b19e0995f317 (1 revision) (flutter/engine#51363) 2024-03-12 [email protected] [dart:ui] Add view ID to `PointerData.toString` (flutter/engine#51352) 2024-03-12 [email protected] Fix null filter NOP case in DlLocalMatrixImageFilter (flutter/engine#51340) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
The test's main thread could run ShutdownPlatformIsolates between a worker thread's calls to CreateAndRegisterIsolate and IsolateIsShutdown. If that happens, IsolateIsShutdown will return true even though CreateAndRegisterIsolate succeeded.
Tests like MultithreadedCreation need to know whether RegisterPlatformIsolate succeeded so they can determine if the isolate will be shut down by ShutdownPlatformIsolates or if it needs to be shut down explicitly. If the flag is cleared during shutdown, then the test may see an isolate that was successfully registered and shut down and think that it was never registered.