Skip to content

Fix chrome 145 web tests - #12486

Draft
mdebbar wants to merge 18 commits into
flutter:mainfrom
mdebbar:fix-chrome-145-web-tests
Draft

Fix chrome 145 web tests#12486
mdebbar wants to merge 18 commits into
flutter:mainfrom
mdebbar:fix-chrome-145-web-tests

Conversation

@mdebbar

@mdebbar mdebbar commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@tarrinneal

Copy link
Copy Markdown
Contributor

Looks like you're running into the same crash/timeout issues I am now.

- file_selector
# Waiting on https://github.com/flutter/flutter/issues/145149
- google_maps_flutter/google_maps_flutter
# Moved to its own dedicated shard due to long test duration

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm very skeptical that long test duration is the problem here. I looked at the presubmit run before you added this commit, and found this header in the log:

|| Running for packages/camera/camera_web [@1:59]

That means it started running camera_web tests two minutes into the run, and then timed out 58 minutes later. It seems much more likely to me that the camera_web tests are hanging than that they take exactly 59 minutes to successfully run. (Also, they only took 4.5 minutes the last time I see them succeeding in a roll.)

If we have all the tests except this working, and this one is still hanging for reasons we don't understand yet, we should just disable this test entirely with a link to an issue tracking investigating, fixing, and re-enabling the test.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The timeout being triggered here is the default integrationDriver() timeout of 20 minutes.

You can see that this suite starts at:

============================================================
|| Running for packages/camera/camera_web [@0:14]
============================================================

And the next one starts at:

============================================================
|| Running for packages/camera/camera_windows [@22:32]
============================================================

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hm, I was looking at a different run I guess. The one I saw was a full task timeout.

Do you see it running for more than 20 minutes locally? It seems odd that updating to a newer Chrome would make a test that use to run in 4-5 minutes take more than 20 if it's actually running correctly.

@mdebbar mdebbar Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In older Chrome versions, it had support for two headless modes: --headless=old and --headless=new. The default for --headless was "old" to maintain backwards compatibility, I presume.

Chrome 128 switched the default for --headless to be "new". And later in 132 they completely removed the "old" mode.

It's my understanding that the "old" headless mode used to run a lighter weight binary, and the "new" one runs a full Chrome browser.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Per my other comment, I think these files and the new shards should be reverted.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

(Also, keeping the new shard would cause every PR to unconditionally run camera_web tests no matter what was being touched, which combined with the fact that it's presumably going to consume a machine for 60 minutes every time would be extremely wasteful of CI resources.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'll revert the shards and instead increase the integrationDriver() timeout or split camera_web_test.dart into multiple files (I think the timeout is per file).

Comment thread .ci.yaml Outdated
# TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
# upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
# flutter/flutter#190584) which pass --disable-search-engine-choice-screen
# and --disable-background-timer-throttling.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Let's get (and link to) an issue for this with packages and p: waiting for stable update so we find it when doing the next stable update.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Great idea!

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

lgtm, I'll be out for a bit, but if you can land it that would be great! If you need me to re-review due to significant changes, feel free to ping me and I can later today.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flutter Packages Web shards timing out with no clear cause.

3 participants