Skip to content

Conversation

@jason-simmons
Copy link
Member

The shell had been calling PlatformView::ReleaseResourceContext every time a shell instance shuts down in order to clear the EGL context from the IO thread.
But there may be other spawned shells that are also using the same IO manager and IO task runner. If the task that calls ReleaseResourceContext runs after the other shells call CreateResourceContext, then the IO thread will be left without an EGL context. That will cause errors in operations like image decoding that need to invoke OpenGL ES APIs on the IO thread.

See #171213

… manager is no longer being used by any other spawned shells

The shell had been calling PlatformView::ReleaseResourceContext every time a
shell instance shuts down in order to clear the EGL context from the IO
thread.
But there may be other spawned shells that are also using the same IO manager
and IO task runner.  If the task that calls ReleaseResourceContext runs after
the other shells call CreateResourceContext, then the IO thread will be left
without an EGL context.  That will cause errors in operations like image
decoding that need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
@github-actions github-actions bot added the engine flutter/engine related. See also e: labels. label Jul 2, 2025
@jason-simmons jason-simmons added autosubmit Merge PR when tree becomes green via auto submit App and removed autosubmit Merge PR when tree becomes green via auto submit App labels Jul 7, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Jul 11, 2025
Merged via the queue into flutter:master with commit 2c7ab86 Jul 11, 2025
178 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 11, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 11, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 11, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 11, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
justinmc pushed a commit to justinmc/flutter that referenced this pull request Jul 11, 2025
… manager is no longer being used by any other spawned shells (flutter#171554)

The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 12, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jul 12, 2025
Roll Flutter from 43657f3 to 35f197f (39 revisions)

flutter/flutter@43657f3...35f197f

2025-07-12 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 8aoEy1hp2a9HI1pt-... to xQlbHCUI33kDvkew8... (flutter/flutter#172060)
2025-07-12 dkwingsmt@users.noreply.github.com Add RSuperellipse support to Web (global cache) (flutter/flutter#171489)
2025-07-12 87506348+jingshao-code@users.noreply.github.com Fix grammar: Change 'A' to 'An' before IOSSystemContextMenuItemData (flutter/flutter#172019)
2025-07-11 jason-simmons@users.noreply.github.com Manual roll Dart to b21dca1b89ff (flutter/flutter#172038)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from 2ea2ba09ef85 to 92354f64e37f (1 revision) (flutter/flutter#172039)
2025-07-11 zhongliu88889@gmail.com Fix CheckedPopupMenuItem semantics to use menuItemCheckbox role with checked state (flutter/flutter#171749)
2025-07-11 30870216+gaaclarke@users.noreply.github.com adds gemini.md to `engine` and `licenses_cpp` (flutter/flutter#172022)
2025-07-11 737941+loic-sharma@users.noreply.github.com [Web] Implement disabling interactive selection (flutter/flutter#171935)
2025-07-11 737941+loic-sharma@users.noreply.github.com [tool] Make google3 have to override feature flags (flutter/flutter#171933)
2025-07-11 30870216+gaaclarke@users.noreply.github.com License cpp 710 (flutter/flutter#171989)
2025-07-11 muhatashim@google.com add content description to tooltip-only nodes for android (flutter/flutter#171541)
2025-07-11 jhy03261997@gmail.com [Web a11y]Update table cell to use LabelRepresentation.sizedSpan  (flutter/flutter#172013)
2025-07-11 bkonyi@google.com [ Tool ] Enable `omit_obvious_*_types` and `specify_nonobvious_*_types` lints (flutter/flutter#172018)
2025-07-11 zhongliu88889@gmail.com Add SemanticsLabelBuilder for Accessible Label Concatenation (flutter/flutter#171683)
2025-07-11 15619084+vashworth@users.noreply.github.com Run tests on either macOS 14 or 15 (flutter/flutter#171076)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from db1a5550c848 to 2ea2ba09ef85 (1 revision) (flutter/flutter#172017)
2025-07-11 dkwingsmt@users.noreply.github.com [Cupertino] Make some widgets no longer use RSuperellipse (flutter/flutter#171830)
2025-07-11 jason-simmons@users.noreply.github.com Detach the resource context from the IO thread only if the shell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
2025-07-11 30870216+gaaclarke@users.noreply.github.com Started querying the app state for the gpu disabled sync switch (flutter/flutter#171785)
2025-07-11 30870216+gaaclarke@users.noreply.github.com License_cpp 7/02 (flutter/flutter#171558)
2025-07-11 sokolovskyi.konstantin@gmail.com [web] Refactor clipboard. (flutter/flutter#171427)
2025-07-11 matanlurey@users.noreply.github.com Require 64-bit Windows (flutter/flutter#171925)
2025-07-11 mdebbar@google.com Run hot_reload_with_asset_web_test.dart on Mac/Windows (flutter/flutter#171280)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from da7e3eae7c2b to db1a5550c848 (2 revisions) (flutter/flutter#171999)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from 26571c3b1771 to da7e3eae7c2b (2 revisions) (flutter/flutter#171997)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from 34a40032ff0a to 26571c3b1771 (1 revision) (flutter/flutter#171995)
2025-07-11 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from lO64ePNEGrGzs-MFC... to 8aoEy1hp2a9HI1pt-... (flutter/flutter#171993)
2025-07-10 pranav072bex@ioepc.edu.np Remove redundant ThemeData(useMaterial3: true) from tests (flutter/flutter#171569)
2025-07-10 jessiewong401@gmail.com [Android 16] Updated linux_android_emu to a 36 AVD in framework CI (flutter/flutter#169121)
2025-07-10 87506348+jingshao-code@users.noreply.github.com [iOS] Add Live Text option to system context menu (flutter/flutter#170969)
2025-07-10 engine-flutter-autoroll@skia.org Roll Skia from dc3da09ca905 to 34a40032ff0a (1 revision) (flutter/flutter#171982)
2025-07-10 pedromassango.developer@gmail.com feat: Expose FocusNode of FocusTraversalGroup (flutter/flutter#171979)
2025-07-10 alex.medinsh@gmail.com `CupertinoDatePicker` and `CupertinoTimerPicker` new onChanged behavior (flutter/flutter#170793)
2025-07-10 jason-simmons@users.noreply.github.com Manual roll Dart SDK from 8d69b07b9d9d to 07ea3aaaadf0 (32 revisions) (flutter/flutter#171969)
2025-07-10 34465683+rkishan516@users.noreply.github.com Style: Rename pageBuilder with builder in showCupertinoSheet (flutter/flutter#170625)
2025-07-10 engine-flutter-autoroll@skia.org Roll Skia from bdb8bfcde7f3 to dc3da09ca905 (3 revisions) (flutter/flutter#171971)
2025-07-10 34465683+rkishan516@users.noreply.github.com Feat: Add foreground color for cupertino button (flutter/flutter#170898)
2025-07-10 engine-flutter-autoroll@skia.org Roll Skia from 0fef076beec3 to bdb8bfcde7f3 (34 revisions) (flutter/flutter#171964)
2025-07-10 mdebbar@google.com Run stateless_stateful_hot_reload_web_test.dart on Mac/Windows (flutter/flutter#171283)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

...
azatech pushed a commit to azatech/flutter that referenced this pull request Jul 28, 2025
… manager is no longer being used by any other spawned shells (flutter#171554)

The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
vashworth pushed a commit to vashworth/packages that referenced this pull request Jul 30, 2025
Roll Flutter from 43657f3 to 35f197f (39 revisions)

flutter/flutter@43657f3...35f197f

2025-07-12 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 8aoEy1hp2a9HI1pt-... to xQlbHCUI33kDvkew8... (flutter/flutter#172060)
2025-07-12 dkwingsmt@users.noreply.github.com Add RSuperellipse support to Web (global cache) (flutter/flutter#171489)
2025-07-12 87506348+jingshao-code@users.noreply.github.com Fix grammar: Change 'A' to 'An' before IOSSystemContextMenuItemData (flutter/flutter#172019)
2025-07-11 jason-simmons@users.noreply.github.com Manual roll Dart to b21dca1b89ff (flutter/flutter#172038)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from 2ea2ba09ef85 to 92354f64e37f (1 revision) (flutter/flutter#172039)
2025-07-11 zhongliu88889@gmail.com Fix CheckedPopupMenuItem semantics to use menuItemCheckbox role with checked state (flutter/flutter#171749)
2025-07-11 30870216+gaaclarke@users.noreply.github.com adds gemini.md to `engine` and `licenses_cpp` (flutter/flutter#172022)
2025-07-11 737941+loic-sharma@users.noreply.github.com [Web] Implement disabling interactive selection (flutter/flutter#171935)
2025-07-11 737941+loic-sharma@users.noreply.github.com [tool] Make google3 have to override feature flags (flutter/flutter#171933)
2025-07-11 30870216+gaaclarke@users.noreply.github.com License cpp 710 (flutter/flutter#171989)
2025-07-11 muhatashim@google.com add content description to tooltip-only nodes for android (flutter/flutter#171541)
2025-07-11 jhy03261997@gmail.com [Web a11y]Update table cell to use LabelRepresentation.sizedSpan  (flutter/flutter#172013)
2025-07-11 bkonyi@google.com [ Tool ] Enable `omit_obvious_*_types` and `specify_nonobvious_*_types` lints (flutter/flutter#172018)
2025-07-11 zhongliu88889@gmail.com Add SemanticsLabelBuilder for Accessible Label Concatenation (flutter/flutter#171683)
2025-07-11 15619084+vashworth@users.noreply.github.com Run tests on either macOS 14 or 15 (flutter/flutter#171076)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from db1a5550c848 to 2ea2ba09ef85 (1 revision) (flutter/flutter#172017)
2025-07-11 dkwingsmt@users.noreply.github.com [Cupertino] Make some widgets no longer use RSuperellipse (flutter/flutter#171830)
2025-07-11 jason-simmons@users.noreply.github.com Detach the resource context from the IO thread only if the shell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
2025-07-11 30870216+gaaclarke@users.noreply.github.com Started querying the app state for the gpu disabled sync switch (flutter/flutter#171785)
2025-07-11 30870216+gaaclarke@users.noreply.github.com License_cpp 7/02 (flutter/flutter#171558)
2025-07-11 sokolovskyi.konstantin@gmail.com [web] Refactor clipboard. (flutter/flutter#171427)
2025-07-11 matanlurey@users.noreply.github.com Require 64-bit Windows (flutter/flutter#171925)
2025-07-11 mdebbar@google.com Run hot_reload_with_asset_web_test.dart on Mac/Windows (flutter/flutter#171280)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from da7e3eae7c2b to db1a5550c848 (2 revisions) (flutter/flutter#171999)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from 26571c3b1771 to da7e3eae7c2b (2 revisions) (flutter/flutter#171997)
2025-07-11 engine-flutter-autoroll@skia.org Roll Skia from 34a40032ff0a to 26571c3b1771 (1 revision) (flutter/flutter#171995)
2025-07-11 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from lO64ePNEGrGzs-MFC... to 8aoEy1hp2a9HI1pt-... (flutter/flutter#171993)
2025-07-10 pranav072bex@ioepc.edu.np Remove redundant ThemeData(useMaterial3: true) from tests (flutter/flutter#171569)
2025-07-10 jessiewong401@gmail.com [Android 16] Updated linux_android_emu to a 36 AVD in framework CI (flutter/flutter#169121)
2025-07-10 87506348+jingshao-code@users.noreply.github.com [iOS] Add Live Text option to system context menu (flutter/flutter#170969)
2025-07-10 engine-flutter-autoroll@skia.org Roll Skia from dc3da09ca905 to 34a40032ff0a (1 revision) (flutter/flutter#171982)
2025-07-10 pedromassango.developer@gmail.com feat: Expose FocusNode of FocusTraversalGroup (flutter/flutter#171979)
2025-07-10 alex.medinsh@gmail.com `CupertinoDatePicker` and `CupertinoTimerPicker` new onChanged behavior (flutter/flutter#170793)
2025-07-10 jason-simmons@users.noreply.github.com Manual roll Dart SDK from 8d69b07b9d9d to 07ea3aaaadf0 (32 revisions) (flutter/flutter#171969)
2025-07-10 34465683+rkishan516@users.noreply.github.com Style: Rename pageBuilder with builder in showCupertinoSheet (flutter/flutter#170625)
2025-07-10 engine-flutter-autoroll@skia.org Roll Skia from bdb8bfcde7f3 to dc3da09ca905 (3 revisions) (flutter/flutter#171971)
2025-07-10 34465683+rkishan516@users.noreply.github.com Feat: Add foreground color for cupertino button (flutter/flutter#170898)
2025-07-10 engine-flutter-autoroll@skia.org Roll Skia from 0fef076beec3 to bdb8bfcde7f3 (34 revisions) (flutter/flutter#171964)
2025-07-10 mdebbar@google.com Run stateless_stateful_hot_reload_web_test.dart on Mac/Windows (flutter/flutter#171283)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

...
littleGnAl pushed a commit to littleGnAl/flutter that referenced this pull request Aug 1, 2025
… manager is no longer being used by any other spawned shells (flutter#171554)

The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
…ell's IO manager is no longer being used by any other spawned shells (flutter/flutter#171554)
ksokolovskyi pushed a commit to ksokolovskyi/flutter that referenced this pull request Aug 19, 2025
… manager is no longer being used by any other spawned shells (flutter#171554)

The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
… manager is no longer being used by any other spawned shells (flutter#171554)

The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
… manager is no longer being used by any other spawned shells (flutter#171554)

The shell had been calling PlatformView::ReleaseResourceContext every
time a shell instance shuts down in order to clear the EGL context from
the IO thread.
But there may be other spawned shells that are also using the same IO
manager and IO task runner. If the task that calls
ReleaseResourceContext runs after the other shells call
CreateResourceContext, then the IO thread will be left without an EGL
context. That will cause errors in operations like image decoding that
need to invoke OpenGL ES APIs on the IO thread.

See flutter#171213
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants