Skip to content

RELAND: [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks - #192655

Merged
auto-submit[bot] merged 9 commits into
flutter:masterfrom
harryterkelsen:reland-web-benchmarks-cleanup
Sep 14, 2026
Merged

auto-submit[bot] merged 9 commits into
flutter:masterfrom
harryterkelsen:reland-web-benchmarks-cleanup

Conversation

@harryterkelsen

Copy link
Copy Markdown
Contributor

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 in try ... finally re-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-assist bot 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.

@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Sep 11, 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 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.

Comment thread dev/devicelab/lib/tasks/web_benchmarks.dart
Comment thread dev/devicelab/lib/tasks/web_benchmarks.dart Outdated
mdebbar
mdebbar previously approved these changes Sep 11, 2026
@github-actions github-actions Bot added the team-web Owned by Web platform team label Sep 11, 2026
mdebbar
mdebbar previously approved these changes Sep 11, 2026
@harryterkelsen harryterkelsen added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 11, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 12, 2026
@auto-submit

auto-submit Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/192655, because Pull request flutter/flutter/192655 is not in a mergeable state.

@harryterkelsen harryterkelsen added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 14, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 14, 2026
@auto-submit

auto-submit Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/192655, because Pull request flutter/flutter/192655 is not in a mergeable state.

@harryterkelsen harryterkelsen added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 14, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Sep 14, 2026
Merged via the queue into flutter:master with commit e300b37 Sep 14, 2026
23 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 14, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Sep 16, 2026
flutter/flutter@8b3e8f5...27fec0e

2026-09-14 ttankkeo112@gmail.com Add dedicated rubber band spring for overscroll recovery in BouncingScrollPhysics (flutter/flutter#187568)
2026-09-14 engine-flutter-autoroll@skia.org Roll Skia from 83c984a6daf5 to 59904977fcbb (8 revisions) (flutter/flutter#192767)
2026-09-14 34871572+gmackall@users.noreply.github.com Request unbuffered dispatch for platform view motion events after `_PlatformViewGestureRecognizer` rejects gesture (flutter/flutter#192259)
2026-09-14 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from ZsxUUK2SfA-TrNvb8... to PDJz3b3CL31uoLOkD... (flutter/flutter#192440)
2026-09-14 codefu@google.com ci(bringup): cleanup some bringup (flutter/flutter#192752)
2026-09-14 kevmoo@users.noreply.github.com Warn users on potential removal of dart:html in dry run (flutter/flutter#192710)
2026-09-14 codefu@google.com docs: migrate design document guidance to flutter/rfc (flutter/flutter#192648)
2026-09-14 154381524+flutteractionsbot@users.noreply.github.com Sync CHANGELOG.md from stable (flutter/flutter#192499)
2026-09-14 engine-flutter-autoroll@skia.org Roll Skia from 7a6fd7ff72d5 to 83c984a6daf5 (1 revision) (flutter/flutter#192745)
2026-09-14 1961493+harryterkelsen@users.noreply.github.com RELAND: [devicelab] Clean up Chrome profile directories and trap abort signals in web benchmarks (flutter/flutter#192655)
2026-09-14 kevmoo@users.noreply.github.com fix(web): hide --web-content-hash until content hashing is complete (flutter/flutter#192663)
2026-09-14 engine-flutter-autoroll@skia.org Roll Skia from 527751088719 to 7a6fd7ff72d5 (2 revisions) (flutter/flutter#192725)
2026-09-14 engine-flutter-autoroll@skia.org Roll Skia from eaf9f82813eb to 527751088719 (1 revision) (flutter/flutter#192722)
2026-09-14 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from AQu85JoTHCMET3Q8G... to 7R1l5MhSZZUr1Q6D1... (flutter/flutter#192719)
2026-09-14 robert.ancell@canonical.com [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 stuartmorgan@google.com,tarrinneal@google.com 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD team-web Owned by Web platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants