-
Notifications
You must be signed in to change notification settings - Fork 6k
Hold a reference to the Skia unref queue in UIDartState #13239
Hold a reference to the Skia unref queue in UIDartState #13239
Conversation
test? |
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.
Very cool. I really like this pattern in shell setup. Thanks @gaaclarke for the idea.
You can close flutter/flutter#42946 too.
The thread safety property involved here is validated by the weak pointer thread checker (see #12257). When the thread checker was reenabled, a workaround was added to |
Obtaining the SkiaUnrefQueue through the IOManager is unsafe because UIDartState has a weak pointer to the IOManager that can not be dereferenced on the UI thread.
4dab82f
to
0b8e8a1
Compare
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.
LGTM
[email protected]:flutter/engine.git/compare/8882bf3c73f5...39e6901 git log 8882bf3..39e6901 --no-merges --oneline 2019-10-21 [email protected] Add recipe changelog (flutter/engine#13270) 2019-10-21 [email protected] fix NPE in accessibility bridge (flutter/engine#13255) 2019-10-21 [email protected] Roll src/third_party/skia 9889d509ed9f..56f569d9bec2 (21 commits) (flutter/engine#13266) 2019-10-21 [email protected] Roll fuchsia/sdk/core/mac-amd64 from hc4p_... to hALu4... (flutter/engine#13252) 2019-10-21 [email protected] [web] Support input action (flutter/engine#13268) 2019-10-21 [email protected] [web] Support -j to use goma in felt build (flutter/engine#13259) 2019-10-21 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 30Ua7... to _e7Up... (flutter/engine#13254) 2019-10-21 [email protected] Hold a reference to the Skia unref queue in UIDartState (flutter/engine#13239) 2019-10-21 [email protected] Do not attempt to drain the SkiaUnrefQueue in the destructor (flutter/engine#13237) 2019-10-21 [email protected] Updated license script to ignore testdata directories, which often contain object files and other compilation results (flutter/engine#13261) 2019-10-21 [email protected] Add templates to generate fuchsia host bundles (flutter/engine#13158) 2019-10-21 [email protected] Update ui.instantiateImageCodec docs to reflect what it does. (flutter/engine#13233) 2019-10-21 [email protected] Update CanvasKit to 0.7.0 and flesh out painting (flutter/engine#13240) 2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from CYDvx... to 30Ua7... (flutter/engine#13251) 2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from 0JpMS... to hc4p_... (flutter/engine#13250) 2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from bdTv5... to CYDvx... (flutter/engine#13249) 2019-10-19 [email protected] Roll src/third_party/skia c65eb34d2f37..9889d509ed9f (1 commits) (flutter/engine#13248) 2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from SevlL... to 0JpMS... (flutter/engine#13244) 2019-10-19 [email protected] Roll src/third_party/skia 7605c89c00f7..c65eb34d2f37 (3 commits) (flutter/engine#13243) 2019-10-19 [email protected] Ignore *.obj files when gathering licenses (flutter/engine#13241) 2019-10-18 [email protected] Roll buildroot to 994c6 (flutter/engine#13236) 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
[email protected]:flutter/engine.git/compare/8882bf3c73f5...39e6901 git log 8882bf3..39e6901 --no-merges --oneline 2019-10-21 [email protected] Add recipe changelog (flutter/engine#13270) 2019-10-21 [email protected] fix NPE in accessibility bridge (flutter/engine#13255) 2019-10-21 [email protected] Roll src/third_party/skia 9889d509ed9f..56f569d9bec2 (21 commits) (flutter/engine#13266) 2019-10-21 [email protected] Roll fuchsia/sdk/core/mac-amd64 from hc4p_... to hALu4... (flutter/engine#13252) 2019-10-21 [email protected] [web] Support input action (flutter/engine#13268) 2019-10-21 [email protected] [web] Support -j to use goma in felt build (flutter/engine#13259) 2019-10-21 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 30Ua7... to _e7Up... (flutter/engine#13254) 2019-10-21 [email protected] Hold a reference to the Skia unref queue in UIDartState (flutter/engine#13239) 2019-10-21 [email protected] Do not attempt to drain the SkiaUnrefQueue in the destructor (flutter/engine#13237) 2019-10-21 [email protected] Updated license script to ignore testdata directories, which often contain object files and other compilation results (flutter/engine#13261) 2019-10-21 [email protected] Add templates to generate fuchsia host bundles (flutter/engine#13158) 2019-10-21 [email protected] Update ui.instantiateImageCodec docs to reflect what it does. (flutter/engine#13233) 2019-10-21 [email protected] Update CanvasKit to 0.7.0 and flesh out painting (flutter/engine#13240) 2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from CYDvx... to 30Ua7... (flutter/engine#13251) 2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from 0JpMS... to hc4p_... (flutter/engine#13250) 2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from bdTv5... to CYDvx... (flutter/engine#13249) 2019-10-19 [email protected] Roll src/third_party/skia c65eb34d2f37..9889d509ed9f (1 commits) (flutter/engine#13248) 2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from SevlL... to 0JpMS... (flutter/engine#13244) 2019-10-19 [email protected] Roll src/third_party/skia 7605c89c00f7..c65eb34d2f37 (3 commits) (flutter/engine#13243) 2019-10-19 [email protected] Ignore *.obj files when gathering licenses (flutter/engine#13241) 2019-10-18 [email protected] Roll buildroot to 994c6 (flutter/engine#13236) 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
Obtaining the SkiaUnrefQueue through the IOManager is unsafe because
UIDartState has a weak pointer to the IOManager that can not be dereferenced
on the UI thread.