Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Fix 303652511 and add a regression test #46743

Merged
merged 3 commits into from
Oct 11, 2023
Merged

Fix 303652511 and add a regression test #46743

merged 3 commits into from
Oct 11, 2023

Conversation

johnmccutchan
Copy link
Contributor

@johnmccutchan johnmccutchan commented Oct 10, 2023

Fixes internal bug b/303652511 and includes a regression test.

The TL;DR of the bug is that when re-launching a singleton-cached-engine Flutter activity using FLAG_ACTIVITY_CLEAR_TASK, the teardown of the previous Flutter activity interleaves with the creation of the new Flutter activity, resulting in the Flutter engine ending up incorrectly in the AppLifecycleState.detached state. This then results in the app being completely unresponsive because Flutter doesn't draw frames in this state. I don't know if the issue is reproducible in production under normal user operation, but I'm concerned it very easily could be. There's also nothing stopping other apps or Android system code from launching an app using this flag.

Fixes internal bug b/303652511 and includes a regression test.
@johnmccutchan johnmccutchan merged commit 5fcc167 into flutter:main Oct 11, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 11, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Oct 11, 2023
…136397)

flutter/engine@4b02631...5fcc167

2023-10-11 john@johnmccutchan.com Fix 303652511 and add a regression test (flutter/engine#46743)
2023-10-11 skia-flutter-autoroll@skia.org Roll Skia from bfd9af01b785 to 6cc9f73ea54e (1 revision) (flutter/engine#46784)

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 jsimmons@google.com,rmistry@google.com,zra@google.com 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
harryterkelsen pushed a commit that referenced this pull request Oct 23, 2023
Fixes internal bug b/303652511 and includes a regression test.

The TL;DR of the bug is that when re-launching a singleton-cached-engine
Flutter activity using FLAG_ACTIVITY_CLEAR_TASK, the teardown of the
previous Flutter activity interleaves with the creation of the new
Flutter activity, resulting in the Flutter engine ending up incorrectly
in the AppLifecycleState.detached state. This then results in the app
being completely unresponsive because Flutter doesn't draw frames in
this state. I don't know if the issue is reproducible in production
under normal user operation, but I'm concerned it very easily could be.
There's also nothing stopping other apps or Android system code from
launching an app using this flag.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants