Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep a copy of each engine's description that can be accessed outside the engine's UI thread #6885

Merged
merged 1 commit into from
Nov 16, 2018

Conversation

jason-simmons
Copy link
Member

The service protocol's ListViews method needs to return description data for
each engine in the process. Previously ListViews would queue a task to each
UI thread to gather this data. However, the UI thread might be blocked from
executing tasks (e.g. if the Dart isolate is paused), resulting in a deadlock.

This change provides a copy of the engine's description data to the
ServiceProtocol's global list of engines, allowing ListViews to run without
accessing any UI threads.

Fixes flutter/flutter#24400

… the engine's UI thread

The service protocol's ListViews method needs to return description data for
each engine in the process.  Previously ListViews would queue a task to each
UI thread to gather this data.  However, the UI thread might be blocked from
executing tasks (e.g. if the Dart isolate is paused), resulting in a deadlock.

This change provides a copy of the engine's description data to the
ServiceProtocol's global list of engines, allowing ListViews to run without
accessing any UI threads.

Fixes flutter/flutter#24400
@jason-simmons jason-simmons merged commit 3978f07 into flutter:master Nov 16, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 18, 2018
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 18, 2018
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Nov 19, 2018
flutter/engine@c02dd8f...cebde43

git log c02dd8f..cebde43 --no-merges --oneline
cebde43 Guard the service protocol's global handlers list with a reader/writer lock. (flutter/engine#6900)
b6e9375 Revert "Guard the service protocol's global handlers list with a reader/writer lock (#6888) #6895" (flutter/engine#6899)
b44b94e Roll src/third_party/skia 66b91e4afb88..def9bcecd994 (1 commits) (flutter/engine#6898)
25db6e0 Roll src/third_party/skia d017e5138c57..66b91e4afb88 (1 commits) (flutter/engine#6897)
fd0911c Guard the service protocol's global handlers list with a reader/writer lock (#6888) (flutter/engine#6895)
fffcce4 Roll src/third_party/skia 1bfdd1adfa22..d017e5138c57 (1 commits) (flutter/engine#6896)
a01c82e Roll src/third_party/skia 7e9ea391cfce..1bfdd1adfa22 (1 commits) (flutter/engine#6894)
9ba5561 Revert "Guard the service protocol's global handlers list with a reader/writer lock (#6888)" (flutter/engine#6893)
517e525 Roll src/third_party/skia 73b4a1f57254..7e9ea391cfce (1 commits) (flutter/engine#6892)
9352360 Guard the service protocol's global handlers list with a reader/writer lock (flutter/engine#6888)
9296d80 Roll src/third_party/skia 7fb30f11a055..73b4a1f57254 (3 commits) (flutter/engine#6891)
93cbf60 Roll src/third_party/skia 281224020a57..7fb30f11a055 (1 commits) (flutter/engine#6889)
aa9793f Roll src/third_party/skia a2187bf7629a..281224020a57 (5 commits) (flutter/engine#6887)
3978f07 Keep a copy of each engine's description that can be accessed outside the engine's UI thread (flutter/engine#6885)
0870e37 Roll src/third_party/skia 3b155a77c370..a2187bf7629a (11 commits) (flutter/engine#6884)


The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants