-
Notifications
You must be signed in to change notification settings - Fork 6k
Revert "Provide dart vm initalize isolate callback so that children i… #12327
Conversation
…solates belong to parent's isolate group. (flutter#9888)" This reverts commit e6620dd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add our hypothesis to this message so that we know what to fix and test before re-landing this. Thanks.
lgtm. Would it have been possible to get --system-verbose-logs from running flutter engine instance to see what isolates get initialized/shutdown/cleaned up? |
@aam i haven't tried that. I will work on getting you those once the roller is unblocked. |
…ildren isolates belong to parent's isolate group. (flutter#9888)" (flutter/engine#12327)
[email protected]:flutter/engine.git/compare/6a96417416b4...36be89d git log 6a96417..36be89d --no-merges --oneline 2019-09-17 [email protected] Added javadoc comments to FlutterActivity and FlutterFragmentActivity. (flutter/engine#12328) 2019-09-17 [email protected] Roll src/third_party/dart 7505b3a5f0..f22f62c85d (5 commits) 2019-09-17 [email protected] Revert "Provide dart vm initalize isolate callback so that children isolates belong to parent's isolate group. (#9888)" (flutter/engine#12327) 2019-09-17 [email protected] [flutter] Remove old A11y API's. (flutter/engine#12308) 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] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
@chinmaygarde We would really like to have full end2end tests for cases like this. Does flutter dashboard / flutter CI builders have such end2end test functionality? If so, could you point us e.g. to an existing test? |
If I understand correctly flutter gallery example(that is used in many devicelab tests) does use child isolate to load licenses(https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/services/asset_bundle.dart#L75), so basic flow of spawning child isolate, having it terminated should be covered by that. |
We should have custom end2end tests which spawn new isolates, do some work in them, make the isolate die and ensure everything worked as expected. Similarly we should have such a test, but also use hot reload. |
[email protected]:flutter/engine.git/compare/6a96417416b4...36be89d git log 6a96417..36be89d --no-merges --oneline 2019-09-17 [email protected] Added javadoc comments to FlutterActivity and FlutterFragmentActivity. (flutter/engine#12328) 2019-09-17 [email protected] Roll src/third_party/dart 7505b3a5f0..f22f62c85d (5 commits) 2019-09-17 [email protected] Revert "Provide dart vm initalize isolate callback so that children isolates belong to parent's isolate group. (flutter#9888)" (flutter/engine#12327) 2019-09-17 [email protected] [flutter] Remove old A11y API's. (flutter/engine#12308) 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] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
…ildren isolates belong to parent's isolate group. (flutter#9888)" (flutter#12327)" This reverts commit 23835f5.
…solates belong to parent's isolate group. (#9888)"
The earlier behavior was that the isolate shutdown callback used to be associated with a single isolate. We take this to mean that when the root isolate shuts down, we tear down the entire Flutter shell. Now, the callback seems to be invoked when any isolate in the isolate group is killed. This in turn makes us kill the Flutter shell when any isolate in the group dies.
Hypothesis is that when a child isolate shuts down, we call the shutdown callback on the root isolate. Which results in the whole flutter runner shutting down (by killing the Engine). This in turn results in the behavior as described in the bug fxb/36670.
This reverts commit e6620dd.