Skip to content

Fix a race in EmbedderTest.CanSpecifyCustomUITaskRunner#182649

Merged
auto-submit[bot] merged 5 commits into
flutter:masterfrom
jason-simmons:embedder_ui_runner_race
Feb 24, 2026
Merged

Fix a race in EmbedderTest.CanSpecifyCustomUITaskRunner#182649
auto-submit[bot] merged 5 commits into
flutter:masterfrom
jason-simmons:embedder_ui_runner_race

Conversation

@jason-simmons

Copy link
Copy Markdown
Member

The UI task runner will be destroyed during the call to FlutterEngineShutdown. It should continue forwarding tasks to the engine until the destruction callback is invoked. After that, it should stop using the engine.

The test had been using a mutex to guard the engine, but that does not work in this case because both the platform and UI threads must be able to run tasks during engine shutdown. If the test's platform thread holds the mutex during the call to engine.reset(), then the UI task runner can not acquire it to run its tasks. The test previously avoided that by calling engine.reset() without holding the mutex. That creates a race between engine shutdown and the UI task runner's check of engine.is_valid().

The UI task runner will be destroyed during the call to FlutterEngineShutdown.  It should continue forwarding tasks to the engine until the destruction callback is invoked.  After that, it should stop using the engine.

The test had been using a mutex to guard the engine, but that does not work in this case because both the platform and UI threads must be able to run tasks during engine shutdown.  If the test's platform thread holds the mutex during the call to engine.reset(), then the UI task runner can not acquire it to run its tasks.
The test previously avoided that by calling engine.reset() without holding the mutex.  That creates a race between engine shutdown and the UI task runner's check of engine.is_valid().
@github-actions github-actions Bot added the engine flutter/engine related. See also e: labels. label Feb 20, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request addresses a race condition in the CanSpecifyCustomUITaskRunner test. The fix involves using a destruction callback on the custom UI task runner to set a flag, preventing tasks from being run on a shutdown engine. This replaces a mutex-based approach that could lead to deadlocks. The EmbedderTestTaskRunner has been updated to use std::function for its destruction callback, improving its flexibility. Additionally, a static variable in another test was made non-static to improve test isolation.

Comment thread engine/src/flutter/shell/platform/embedder/tests/embedder_unittests_util.h Outdated
…tests_util.h

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

@gaaclarke gaaclarke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nice catch.

Test exempt: this is a test

auto ui_thread = std::make_unique<fml::Thread>("test_ui_thread");
auto ui_task_runner = ui_thread->GetTaskRunner();
std::mutex ui_task_runner_mutex;
bool ui_task_runner_destroyed = false;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please add the IPLR_GUARDED_BY macro to this variable.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The IPLR_ macros are defined in Impeller, but this test is in the engine tree outside Impeller. The engine/shell subsystems are not using the threading annotations.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's a couple of lines you can inline in this file. It's basically a preprocessor check for clang and an attribute on the variable.

});
test_task_runner.SetDestructionCallback(
[](void* user_data) { destruction_callback_called = true; });
[&]() { destruction_callback_called = true; });

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The convention at google is to use explicit load() and store() functions with std::atomics.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

done

task_runner_description_.destruction_callback = [](void* user_data) {
auto thiz = reinterpret_cast<EmbedderTestTaskRunner*>(user_data);
if (thiz->destruction_callback_) {
thiz->destruction_callback_();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this executing on a different thread than SetDestructionCallback? If so there is a race condition and we'll need a mutex.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Changed this callback to be immutable after construction

@gaaclarke gaaclarke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM modulo a nit about clang's guarded_by attribute. Thanks jason.

auto ui_thread = std::make_unique<fml::Thread>("test_ui_thread");
auto ui_task_runner = ui_thread->GetTaskRunner();
std::mutex ui_task_runner_mutex;
bool ui_task_runner_destroyed = false;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's a couple of lines you can inline in this file. It's basically a preprocessor check for clang and an attribute on the variable.

@gaaclarke

Copy link
Copy Markdown
Member

I'm going to try to merge master to kick the bots. CI seems... unhappy.

@jason-simmons jason-simmons added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 24, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Feb 24, 2026
Merged via the queue into flutter:master with commit 6172ba6 Feb 24, 2026
184 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Feb 24, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Feb 26, 2026
Roll Flutter from dad6f9d4107a to b31548feb941 (39 revisions)

flutter/flutter@dad6f9d...b31548f

2026-02-25 mdebbar@google.com [web] Fix failure on Firefox 148 (flutter/flutter#182855)
2026-02-25 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from KfPgw04T0OEADLJA5... to XI0Ax7fbtYE4XKYAQ... (flutter/flutter#182887)
2026-02-25 50643541+Mairramer@users.noreply.github.com Use AnimationStyle curve and reverseCurve in ModalBottomSheet animation (flutter/flutter#181403)
2026-02-25 engine-flutter-autoroll@skia.org Roll Dart SDK from fd3dce5b6a4e to 5c57e75f1102 (9 revisions) (flutter/flutter#182801)
2026-02-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "refactor: remove material in context_menu_controller_test, icon_test, list_wheel_scroll_view_test, media_query_test, platform_menu_bar_test (#182697)" (flutter/flutter#182879)
2026-02-25 ahmedsameha1@gmail.com Make sure that an AnimatedSlide doesn't crash in 0x0 environment (flutter/flutter#181535)
2026-02-24 jmccandless@google.com Reland Standardize on Test* widgets in *_tester.dart files (flutter/flutter#182632)
2026-02-24 nhan13574@gmail.com docs(Path): clarify that zero-length contours are excluded from computeMetrics (flutter/flutter#180165)
2026-02-24 mdebbar@google.com Fix typo in assert message (flutter/flutter#182843)
2026-02-24 matej.knopp@gmail.com [win32] Fix overflow in TaskRunnerWindow. (flutter/flutter#182822)
2026-02-24 abadasamuelosp@gmail.com feat: Add --no-uninstall flag to flutter test for integration tests (flutter/flutter#182714)
2026-02-24 74057391+jhonathanqz@users.noreply.github.com Rename noFrequencyBasedMinification to useFrequencyBasedMinification (flutter/flutter#182684)
2026-02-24 60122246+xiaowei-guan@users.noreply.github.com [Impeller] Fix fail to render pixel buffer texture on Linux (flutter/flutter#181656)
2026-02-24 15619084+vashworth@users.noreply.github.com Remove FlutterFramework app migration (flutter/flutter#182100)
2026-02-24 engine-flutter-autoroll@skia.org Roll Packages from 12b43a1 to 062c8d4 (5 revisions) (flutter/flutter#182839)
2026-02-24 mdebbar@google.com [web] Run webparagraph tests in CI (flutter/flutter#182092)
2026-02-24 jason-simmons@users.noreply.github.com Fix a race in EmbedderTest.CanSpecifyCustomUITaskRunner (flutter/flutter#182649)
2026-02-24 srawlins@google.com flutter_tools: Use a super-parameter in several missed cases (flutter/flutter#182581)
2026-02-24 116356835+AbdeMohlbi@users.noreply.github.com Replace more references to `flutter/engine` with `flutter/flutter` (flutter/flutter#182654)
2026-02-24 50643541+Mairramer@users.noreply.github.com Carousel: Migration from Scrollable+Viewport to CustomScrollView (flutter/flutter#182475)
2026-02-24 97480502+b-luk@users.noreply.github.com Refactor impellerc_main to better organize some of its logic (flutter/flutter#182783)
2026-02-24 116356835+AbdeMohlbi@users.noreply.github.com Remove unused `getPluginList ` (flutter/flutter#182660)
2026-02-24 34465683+rkishan516@users.noreply.github.com Refactor: Remove material from ticker provider test (flutter/flutter#181697)
2026-02-24 engine-flutter-autoroll@skia.org Roll Skia from 26eebffe12bd to f44d7db68805 (3 revisions) (flutter/flutter#182821)
2026-02-24 34465683+rkishan516@users.noreply.github.com refactor: remove material in context_menu_controller_test, icon_test, list_wheel_scroll_view_test, media_query_test, platform_menu_bar_test (flutter/flutter#182697)
2026-02-24 engine-flutter-autoroll@skia.org Roll Skia from 7dad66aae75a to 26eebffe12bd (5 revisions) (flutter/flutter#182810)
2026-02-24 pokepsi@gmail.com Update roadmap for 2026 (flutter/flutter#182798)
2026-02-24 fluttergithubbot@gmail.com Marks Windows tool_tests_commands_1_2 to be unflaky (flutter/flutter#179670)
2026-02-23 zhongliu88889@gmail.com [web] scroll iOS iframe text input into view (flutter/flutter#179759)
2026-02-23 Mail@maikwild.de Fix textscaler clamp assertion error (flutter/flutter#181716)
2026-02-23 engine-flutter-autoroll@skia.org Roll Skia from 9a5a3c92c336 to 7dad66aae75a (4 revisions) (flutter/flutter#182779)
2026-02-23 116356835+AbdeMohlbi@users.noreply.github.com Move more getters from userMessages class to the appropriate places (flutter/flutter#182656)
2026-02-23 engine-flutter-autoroll@skia.org Manual roll Dart SDK from f8fac50475b8 to fd3dce5b6a4e (6 revisions) (flutter/flutter#182768)
2026-02-23 15619084+vashworth@users.noreply.github.com Copy Flutter framework to Add to App FlutterPluginRgistrant (flutter/flutter#182523)
2026-02-23 mr-peipei@web.de Add progress indicator to artifact downloads (flutter/flutter#181808)
2026-02-23 47866232+chunhtai@users.noreply.github.com Clarify batch release mode requirements (flutter/flutter#182228)
2026-02-23 mdebbar@google.com [web] Remove --disable-gpu from flutter chrome tests (flutter/flutter#182618)
2026-02-23 jwren@google.com running-apps: update running-apps to use Duration.ago() (flutter/flutter#182172)
2026-02-23 kevmoo@users.noreply.github.com Refactor bin/ shell scripts for better performance and safety (flutter/flutter#182674)

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.

...
ahmedsameha1 pushed a commit to ahmedsameha1/flutter that referenced this pull request Feb 27, 2026
The UI task runner will be destroyed during the call to
FlutterEngineShutdown. It should continue forwarding tasks to the engine
until the destruction callback is invoked. After that, it should stop
using the engine.

The test had been using a mutex to guard the engine, but that does not
work in this case because both the platform and UI threads must be able
to run tasks during engine shutdown. If the test's platform thread holds
the mutex during the call to engine.reset(), then the UI task runner can
not acquire it to run its tasks. The test previously avoided that by
calling engine.reset() without holding the mutex. That creates a race
between engine shutdown and the UI task runner's check of
engine.is_valid().

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com>
okorohelijah pushed a commit to okorohelijah/packages that referenced this pull request Mar 26, 2026
…r#11116)

Roll Flutter from dad6f9d4107a to b31548feb941 (39 revisions)

flutter/flutter@dad6f9d...b31548f

2026-02-25 mdebbar@google.com [web] Fix failure on Firefox 148 (flutter/flutter#182855)
2026-02-25 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from KfPgw04T0OEADLJA5... to XI0Ax7fbtYE4XKYAQ... (flutter/flutter#182887)
2026-02-25 50643541+Mairramer@users.noreply.github.com Use AnimationStyle curve and reverseCurve in ModalBottomSheet animation (flutter/flutter#181403)
2026-02-25 engine-flutter-autoroll@skia.org Roll Dart SDK from fd3dce5b6a4e to 5c57e75f1102 (9 revisions) (flutter/flutter#182801)
2026-02-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "refactor: remove material in context_menu_controller_test, icon_test, list_wheel_scroll_view_test, media_query_test, platform_menu_bar_test (#182697)" (flutter/flutter#182879)
2026-02-25 ahmedsameha1@gmail.com Make sure that an AnimatedSlide doesn't crash in 0x0 environment (flutter/flutter#181535)
2026-02-24 jmccandless@google.com Reland Standardize on Test* widgets in *_tester.dart files (flutter/flutter#182632)
2026-02-24 nhan13574@gmail.com docs(Path): clarify that zero-length contours are excluded from computeMetrics (flutter/flutter#180165)
2026-02-24 mdebbar@google.com Fix typo in assert message (flutter/flutter#182843)
2026-02-24 matej.knopp@gmail.com [win32] Fix overflow in TaskRunnerWindow. (flutter/flutter#182822)
2026-02-24 abadasamuelosp@gmail.com feat: Add --no-uninstall flag to flutter test for integration tests (flutter/flutter#182714)
2026-02-24 74057391+jhonathanqz@users.noreply.github.com Rename noFrequencyBasedMinification to useFrequencyBasedMinification (flutter/flutter#182684)
2026-02-24 60122246+xiaowei-guan@users.noreply.github.com [Impeller] Fix fail to render pixel buffer texture on Linux (flutter/flutter#181656)
2026-02-24 15619084+vashworth@users.noreply.github.com Remove FlutterFramework app migration (flutter/flutter#182100)
2026-02-24 engine-flutter-autoroll@skia.org Roll Packages from 12b43a1 to 062c8d4 (5 revisions) (flutter/flutter#182839)
2026-02-24 mdebbar@google.com [web] Run webparagraph tests in CI (flutter/flutter#182092)
2026-02-24 jason-simmons@users.noreply.github.com Fix a race in EmbedderTest.CanSpecifyCustomUITaskRunner (flutter/flutter#182649)
2026-02-24 srawlins@google.com flutter_tools: Use a super-parameter in several missed cases (flutter/flutter#182581)
2026-02-24 116356835+AbdeMohlbi@users.noreply.github.com Replace more references to `flutter/engine` with `flutter/flutter` (flutter/flutter#182654)
2026-02-24 50643541+Mairramer@users.noreply.github.com Carousel: Migration from Scrollable+Viewport to CustomScrollView (flutter/flutter#182475)
2026-02-24 97480502+b-luk@users.noreply.github.com Refactor impellerc_main to better organize some of its logic (flutter/flutter#182783)
2026-02-24 116356835+AbdeMohlbi@users.noreply.github.com Remove unused `getPluginList ` (flutter/flutter#182660)
2026-02-24 34465683+rkishan516@users.noreply.github.com Refactor: Remove material from ticker provider test (flutter/flutter#181697)
2026-02-24 engine-flutter-autoroll@skia.org Roll Skia from 26eebffe12bd to f44d7db68805 (3 revisions) (flutter/flutter#182821)
2026-02-24 34465683+rkishan516@users.noreply.github.com refactor: remove material in context_menu_controller_test, icon_test, list_wheel_scroll_view_test, media_query_test, platform_menu_bar_test (flutter/flutter#182697)
2026-02-24 engine-flutter-autoroll@skia.org Roll Skia from 7dad66aae75a to 26eebffe12bd (5 revisions) (flutter/flutter#182810)
2026-02-24 pokepsi@gmail.com Update roadmap for 2026 (flutter/flutter#182798)
2026-02-24 fluttergithubbot@gmail.com Marks Windows tool_tests_commands_1_2 to be unflaky (flutter/flutter#179670)
2026-02-23 zhongliu88889@gmail.com [web] scroll iOS iframe text input into view (flutter/flutter#179759)
2026-02-23 Mail@maikwild.de Fix textscaler clamp assertion error (flutter/flutter#181716)
2026-02-23 engine-flutter-autoroll@skia.org Roll Skia from 9a5a3c92c336 to 7dad66aae75a (4 revisions) (flutter/flutter#182779)
2026-02-23 116356835+AbdeMohlbi@users.noreply.github.com Move more getters from userMessages class to the appropriate places (flutter/flutter#182656)
2026-02-23 engine-flutter-autoroll@skia.org Manual roll Dart SDK from f8fac50475b8 to fd3dce5b6a4e (6 revisions) (flutter/flutter#182768)
2026-02-23 15619084+vashworth@users.noreply.github.com Copy Flutter framework to Add to App FlutterPluginRgistrant (flutter/flutter#182523)
2026-02-23 mr-peipei@web.de Add progress indicator to artifact downloads (flutter/flutter#181808)
2026-02-23 47866232+chunhtai@users.noreply.github.com Clarify batch release mode requirements (flutter/flutter#182228)
2026-02-23 mdebbar@google.com [web] Remove --disable-gpu from flutter chrome tests (flutter/flutter#182618)
2026-02-23 jwren@google.com running-apps: update running-apps to use Duration.ago() (flutter/flutter#182172)
2026-02-23 kevmoo@users.noreply.github.com Refactor bin/ shell scripts for better performance and safety (flutter/flutter#182674)

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.

...
mboetger pushed a commit to mboetger/flutter that referenced this pull request Mar 26, 2026
The UI task runner will be destroyed during the call to
FlutterEngineShutdown. It should continue forwarding tasks to the engine
until the destruction callback is invoked. After that, it should stop
using the engine.

The test had been using a mutex to guard the engine, but that does not
work in this case because both the platform and UI threads must be able
to run tasks during engine shutdown. If the test's platform thread holds
the mutex during the call to engine.reset(), then the UI task runner can
not acquire it to run its tasks. The test previously avoided that by
calling engine.reset() without holding the mutex. That creates a race
between engine shutdown and the UI task runner's check of
engine.is_valid().

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com>
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…r#11116)

Roll Flutter from dad6f9d4107a to b31548feb941 (39 revisions)

flutter/flutter@dad6f9d...b31548f

2026-02-25 mdebbar@google.com [web] Fix failure on Firefox 148 (flutter/flutter#182855)
2026-02-25 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from KfPgw04T0OEADLJA5... to XI0Ax7fbtYE4XKYAQ... (flutter/flutter#182887)
2026-02-25 50643541+Mairramer@users.noreply.github.com Use AnimationStyle curve and reverseCurve in ModalBottomSheet animation (flutter/flutter#181403)
2026-02-25 engine-flutter-autoroll@skia.org Roll Dart SDK from fd3dce5b6a4e to 5c57e75f1102 (9 revisions) (flutter/flutter#182801)
2026-02-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "refactor: remove material in context_menu_controller_test, icon_test, list_wheel_scroll_view_test, media_query_test, platform_menu_bar_test (#182697)" (flutter/flutter#182879)
2026-02-25 ahmedsameha1@gmail.com Make sure that an AnimatedSlide doesn't crash in 0x0 environment (flutter/flutter#181535)
2026-02-24 jmccandless@google.com Reland Standardize on Test* widgets in *_tester.dart files (flutter/flutter#182632)
2026-02-24 nhan13574@gmail.com docs(Path): clarify that zero-length contours are excluded from computeMetrics (flutter/flutter#180165)
2026-02-24 mdebbar@google.com Fix typo in assert message (flutter/flutter#182843)
2026-02-24 matej.knopp@gmail.com [win32] Fix overflow in TaskRunnerWindow. (flutter/flutter#182822)
2026-02-24 abadasamuelosp@gmail.com feat: Add --no-uninstall flag to flutter test for integration tests (flutter/flutter#182714)
2026-02-24 74057391+jhonathanqz@users.noreply.github.com Rename noFrequencyBasedMinification to useFrequencyBasedMinification (flutter/flutter#182684)
2026-02-24 60122246+xiaowei-guan@users.noreply.github.com [Impeller] Fix fail to render pixel buffer texture on Linux (flutter/flutter#181656)
2026-02-24 15619084+vashworth@users.noreply.github.com Remove FlutterFramework app migration (flutter/flutter#182100)
2026-02-24 engine-flutter-autoroll@skia.org Roll Packages from 12b43a1 to 062c8d4 (5 revisions) (flutter/flutter#182839)
2026-02-24 mdebbar@google.com [web] Run webparagraph tests in CI (flutter/flutter#182092)
2026-02-24 jason-simmons@users.noreply.github.com Fix a race in EmbedderTest.CanSpecifyCustomUITaskRunner (flutter/flutter#182649)
2026-02-24 srawlins@google.com flutter_tools: Use a super-parameter in several missed cases (flutter/flutter#182581)
2026-02-24 116356835+AbdeMohlbi@users.noreply.github.com Replace more references to `flutter/engine` with `flutter/flutter` (flutter/flutter#182654)
2026-02-24 50643541+Mairramer@users.noreply.github.com Carousel: Migration from Scrollable+Viewport to CustomScrollView (flutter/flutter#182475)
2026-02-24 97480502+b-luk@users.noreply.github.com Refactor impellerc_main to better organize some of its logic (flutter/flutter#182783)
2026-02-24 116356835+AbdeMohlbi@users.noreply.github.com Remove unused `getPluginList ` (flutter/flutter#182660)
2026-02-24 34465683+rkishan516@users.noreply.github.com Refactor: Remove material from ticker provider test (flutter/flutter#181697)
2026-02-24 engine-flutter-autoroll@skia.org Roll Skia from 26eebffe12bd to f44d7db68805 (3 revisions) (flutter/flutter#182821)
2026-02-24 34465683+rkishan516@users.noreply.github.com refactor: remove material in context_menu_controller_test, icon_test, list_wheel_scroll_view_test, media_query_test, platform_menu_bar_test (flutter/flutter#182697)
2026-02-24 engine-flutter-autoroll@skia.org Roll Skia from 7dad66aae75a to 26eebffe12bd (5 revisions) (flutter/flutter#182810)
2026-02-24 pokepsi@gmail.com Update roadmap for 2026 (flutter/flutter#182798)
2026-02-24 fluttergithubbot@gmail.com Marks Windows tool_tests_commands_1_2 to be unflaky (flutter/flutter#179670)
2026-02-23 zhongliu88889@gmail.com [web] scroll iOS iframe text input into view (flutter/flutter#179759)
2026-02-23 Mail@maikwild.de Fix textscaler clamp assertion error (flutter/flutter#181716)
2026-02-23 engine-flutter-autoroll@skia.org Roll Skia from 9a5a3c92c336 to 7dad66aae75a (4 revisions) (flutter/flutter#182779)
2026-02-23 116356835+AbdeMohlbi@users.noreply.github.com Move more getters from userMessages class to the appropriate places (flutter/flutter#182656)
2026-02-23 engine-flutter-autoroll@skia.org Manual roll Dart SDK from f8fac50475b8 to fd3dce5b6a4e (6 revisions) (flutter/flutter#182768)
2026-02-23 15619084+vashworth@users.noreply.github.com Copy Flutter framework to Add to App FlutterPluginRgistrant (flutter/flutter#182523)
2026-02-23 mr-peipei@web.de Add progress indicator to artifact downloads (flutter/flutter#181808)
2026-02-23 47866232+chunhtai@users.noreply.github.com Clarify batch release mode requirements (flutter/flutter#182228)
2026-02-23 mdebbar@google.com [web] Remove --disable-gpu from flutter chrome tests (flutter/flutter#182618)
2026-02-23 jwren@google.com running-apps: update running-apps to use Duration.ago() (flutter/flutter#182172)
2026-02-23 kevmoo@users.noreply.github.com Refactor bin/ shell scripts for better performance and safety (flutter/flutter#182674)

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.

...
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