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

Fix iOS crash when multiple platform views are in the scene #13449

Merged
merged 3 commits into from
Oct 31, 2019

Conversation

amirh
Copy link
Contributor

@amirh amirh commented Oct 30, 2019

Having 2 or more platform views simultaneously in the layer tree was crashing immediately on iOS with GL backend.

This regressed in #11070 which passed gl_context to a function in a loop using std::move (which meant on the second iteration the caller is no longer the owner of the field).

I added a scenarios_app test, though this test doesn't run on a physical device on CI so it would have only caught the problem when running locally (flutter/flutter#43852).

@amirh amirh requested a review from dnfield October 30, 2019 23:37
Copy link
Contributor

@dnfield dnfield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Thanks for catching this!

@amirh
Copy link
Contributor Author

amirh commented Oct 31, 2019

Landing on red luci, @iskakaushik from Discord:

LUCI failed because of a recipe change i made, i just reverted it. Please feel free to land on red.

@amirh amirh merged commit c63aefd into flutter:master Oct 31, 2019
@amirh amirh deleted the multi_platform_view_crash_fix branch October 31, 2019 17:30
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 31, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Oct 31, 2019
git@github.com:flutter/engine.git/compare/4b76fadbf438...7c80d62

git log 4b76fad..7c80d62 --no-merges --oneline
2019-10-31 iska.kaushik@gmail.com CIPD needs the directory to be relative (flutter/engine#13461)
2019-10-31 1541038+josh-ksr@users.noreply.github.com Force orientation change when current orientation not allowed on iOS (flutter/engine#13170)
2019-10-31 jason-simmons@users.noreply.github.com Duplicate the directory fd in fml::VisitFiles (flutter/engine#13448)
2019-10-31 amirh@users.noreply.github.com Fix iOS crash when multiple platform views are in the scene (flutter/engine#13449)
2019-10-30 skia-flutter-autoroll@skia.org Roll src/third_party/skia 7df14d055703..549325c87e9d (11 commits) (flutter/engine#13447)


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 cbracken@google.com 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
Inconnu08 pushed a commit to Inconnu08/flutter that referenced this pull request Nov 26, 2019
git@github.com:flutter/engine.git/compare/4b76fadbf438...7c80d62

git log 4b76fad..7c80d62 --no-merges --oneline
2019-10-31 iska.kaushik@gmail.com CIPD needs the directory to be relative (flutter/engine#13461)
2019-10-31 1541038+josh-ksr@users.noreply.github.com Force orientation change when current orientation not allowed on iOS (flutter/engine#13170)
2019-10-31 jason-simmons@users.noreply.github.com Duplicate the directory fd in fml::VisitFiles (flutter/engine#13448)
2019-10-31 amirh@users.noreply.github.com Fix iOS crash when multiple platform views are in the scene (flutter/engine#13449)
2019-10-30 skia-flutter-autoroll@skia.org Roll src/third_party/skia 7df14d055703..549325c87e9d (11 commits) (flutter/engine#13447)


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 cbracken@google.com 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
Partizann pushed a commit to Partizann/engine that referenced this pull request Mar 23, 2020
…13449)

Having 2 or more platform views simultaneously in the layer tree was crashing immediately on iOS with GL backend.

This regressed in flutter#11070 which passed gl_context to a function in a loop using std::move (which meant on the second iteration the caller is no longer the owner of the field).

I added a scenarios_app test, though this test doesn't run on a physical device on CI so it would have only caught the problem when running locally (flutter/flutter#43852).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants