Repository navigation
RELAND: [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks - #192655
Conversation
…rap abort signals in web benchmarks (flutter#192615)" This reverts commit 91b40de.
There was a problem hiding this comment.
Code Review
This pull request refactors the web benchmark execution and Chrome process lifecycle management to ensure robust cleanup of processes and temporary directories, including handling SIGINT and SIGTERM signals. It introduces a disconnect method to Chrome to detach without killing the process, adds a retry mechanism for directory deletion, and includes comprehensive unit tests for these lifecycle states. The review feedback suggests refactoring the Chrome cleanup logic to avoid duplication and prevent background process leaks during timeouts, and defensively creating the .dart_tool directory before generating temporary files to avoid potential file system exceptions.
…sure .dart_tool exists
|
autosubmit label was removed for flutter/flutter/192655, because Pull request flutter/flutter/192655 is not in a mergeable state. |
|
autosubmit label was removed for flutter/flutter/192655, because Pull request flutter/flutter/192655 is not in a mergeable state. |
…arks-cleanup # Conflicts: # dev/devicelab/lib/tasks/web_benchmarks.dart
flutter/flutter@8b3e8f5...27fec0e 2026-09-14 [email protected] Add dedicated rubber band spring for overscroll recovery in BouncingScrollPhysics (flutter/flutter#187568) 2026-09-14 [email protected] Roll Skia from 83c984a6daf5 to 59904977fcbb (8 revisions) (flutter/flutter#192767) 2026-09-14 [email protected] Request unbuffered dispatch for platform view motion events after `_PlatformViewGestureRecognizer` rejects gesture (flutter/flutter#192259) 2026-09-14 [email protected] Roll Fuchsia GN SDK from ZsxUUK2SfA-TrNvb8... to PDJz3b3CL31uoLOkD... (flutter/flutter#192440) 2026-09-14 [email protected] ci(bringup): cleanup some bringup (flutter/flutter#192752) 2026-09-14 [email protected] Warn users on potential removal of dart:html in dry run (flutter/flutter#192710) 2026-09-14 [email protected] docs: migrate design document guidance to flutter/rfc (flutter/flutter#192648) 2026-09-14 [email protected] Sync CHANGELOG.md from stable (flutter/flutter#192499) 2026-09-14 [email protected] Roll Skia from 7a6fd7ff72d5 to 83c984a6daf5 (1 revision) (flutter/flutter#192745) 2026-09-14 [email protected] RELAND: [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks (flutter/flutter#192655) 2026-09-14 [email protected] fix(web): hide --web-content-hash until content hashing is complete (flutter/flutter#192663) 2026-09-14 [email protected] Roll Skia from 527751088719 to 7a6fd7ff72d5 (2 revisions) (flutter/flutter#192725) 2026-09-14 [email protected] Roll Skia from eaf9f82813eb to 527751088719 (1 revision) (flutter/flutter#192722) 2026-09-14 [email protected] Roll Fuchsia Linux SDK from AQu85JoTHCMET3Q8G... to 7R1l5MhSZZUr1Q6D1... (flutter/flutter#192719) 2026-09-14 [email protected] [Linux] Clear the frame when there is nothing to render (flutter/flutter#192461) If this roll has caused a breakage, revert this CL and set the roller to dry run mode using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Ensures temporary Chrome user profile directories created during web benchmarks are reliably deleted, and ensures benchmark child processes (Chrome, Shelf, and
flutter run) are cleaned up when benchmarks complete or when interrupted with SIGINT/SIGTERM.Part of #191316
Tip for reviewers: Recommend viewing with "Hide whitespace" enabled (
?w=1), as wrapping the task body intry ... finallyre-indents the inner block.I fixed the issue with the Chrome lifecycle that caused the original revert.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.