Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from chromium:master #12

Merged
merged 793 commits into from
Jun 3, 2021
Merged

[pull] master from chromium:master #12

merged 793 commits into from
Jun 3, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Jun 3, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

David Roger and others added 30 commits June 3, 2021 08:12
This CL migrates callers to the new version of the API:
- does not return an optional (returns empty AccountInfo instead).

Bug: 1213351
Change-Id: I72fead9eefadd4a4216085f2ee7a98ca69f43225
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2917003
Commit-Queue: David Roger <[email protected]>
Reviewed-by: Jérôme <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888778}
This CL migrates callers to the new version of the API:
- does not return an optional (returns empty AccountInfo instead).

Bug: 1213351
Change-Id: Ice0ea6e780c78d5a4e8292d4f0ae53a9cde3bbd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2917169
Commit-Queue: David Roger <[email protected]>
Auto-Submit: David Roger <[email protected]>
Reviewed-by: Alex Ilin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888779}
This prevents some badness further down the line.

Bug: 1214021
Change-Id: I84cafb016c106981666b4676130a29b7a72c9ac0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2932639
Reviewed-by: Stephen Chenney <[email protected]>
Commit-Queue: Fredrik Söderquist <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888780}
This CL makes sure that during a same page navigation (i.e. not creating
a new entry in the navigation stack), the transition type of the current
item is correctly updated to the transition type of the new navigation.

Fixed: 1211879
Change-Id: I6bcae20156d2d26be88e29b1a96533cac89533d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2927587
Reviewed-by: Ali Juma <[email protected]>
Commit-Queue: Gauthier Ambard <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888781}
This CL migrates callers to the new version of the API:
- does not return an optional (returns empty AccountInfo instead).

Bug: 1213351
Change-Id: I118a37c3b83e199f6a8a910118991d55b0971738
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2919747
Commit-Queue: David Roger <[email protected]>
Reviewed-by: Boris Sazonov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888782}
For cross-code consistency, use CanOfferExtendedSyncPromos for the sync
promo capability in iOS.

Bug: 1202731
Change-Id: I502ea8ee47732a2b0014baf0e714e3d9218143b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2929959
Reviewed-by: Jérôme <[email protected]>
Commit-Queue: Nohemi Fernandez <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888783}
https://chromium.googlesource.com/angle/angle.git/+log/6207b871a05b..be873929d707

2021-06-03 [email protected] Vulkan: SPIR-V Gen: Handle constants and constructors
2021-06-03 [email protected] Skip flaky end2end tests on Mac AMD OpenGL
2021-06-03 [email protected] Vulkan: SPIR-V Gen: Handle load/store access chain
2021-06-03 [email protected] Fix ContextVk::handleNoopDrawEvent() for when no cmd buffer
2021-06-03 [email protected] Vulkan: Fix deferred clears vs 3D textures
2021-06-03 [email protected] Re-enable atomic counter tests on Vulkan/Windows

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-chromium-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win-asan;luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:linux-swangle-try-x64;luci.chromium.try:win-swangle-try-x86
Bug: None
Tbr: [email protected]
Change-Id: Ief968a7e6ef907d2f8b02c75aa5366a5101c463e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935062
Commit-Queue: chromium-autoroll <[email protected]>
Bot-Commit: chromium-autoroll <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888784}
This reverts commit:
- 5e31605.
- 94b4d59

Reason for revert: https://crbug.com/1215898
Didn't find class "androidx.emoji2.text.EmojiCompatInitializer"

Original change's description:
> Roll androidx from 5wEAJbMDQ... to Hc8o8AHtY...
>
> If this roll has caused a breakage, revert this CL and stop the roller
> using the controls here:
> https://autoroll.skia.org/r/androidx-chromium
> Please CC [email protected],[email protected] on the revert to ensure that a human
> is aware of the problem.
>
> To report a problem with the AutoRoller itself, please file a bug:
> https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
>
> Documentation for the AutoRoller is here:
> https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
>
> Modification: Fix expectations and weblayer test
> Bug: 1205141
> Tbr: [email protected],[email protected]
> Change-Id: Icadd6c4e2e8e9e57cc1c96810a44a2a71a94f6ac
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2934296
> Commit-Queue: Mohamed Heikal <[email protected]>
> Reviewed-by: Clark DuVall <[email protected]>
> Reviewed-by: Peter Wen <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#888557}

Bug: 1205141
Change-Id: I2b93852b483d3570bb47a706b0a3f35a321354cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935282
Auto-Submit: Arthur Sonzogni <[email protected]>
Owners-Override: Arthur Sonzogni <[email protected]>
Reviewed-by: Arthur Sonzogni <[email protected]>
Reviewed-by: Titouan Rigoudy <[email protected]>
Commit-Queue: Titouan Rigoudy <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888785}
https://chromium.googlesource.com/infra/infra.git/+log/238cbc8af249..abd26383ec20

2021-06-03 [email protected] Roll luci-go from 948d0f524968 to 17746f6de809 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/infra-chromium
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Tbr: [email protected]
Change-Id: I4c538d30c66d4aa12a5bf27aabefccb0070970ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935064
Commit-Queue: chromium-autoroll <[email protected]>
Bot-Commit: chromium-autoroll <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888786}
…tion.html"

This reverts commit 09990d5.

Reason for revert: Still flaky.
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/96888/overview

Original change's description:
> [SW] Remove stale expecation for window-close-during-registration.html
>
> Bug: 1184157
> Change-Id: Ib99c159b1ac9a2ed8d6e0e1e75081693748b9dad
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2896661
> Reviewed-by: Hiroki Nakagawa <[email protected]>
> Commit-Queue: Yutaka Hirano <[email protected]>
> Auto-Submit: Yutaka Hirano <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#883389}

Bug: 1184157
Change-Id: Ie18c961f51ee8ea363807da6d8b678ddcc689912
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935158
Reviewed-by: Morten Stenshorne <[email protected]>
Reviewed-by: Rune Lillesveen <[email protected]>
Owners-Override: Morten Stenshorne <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Morten Stenshorne <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888787}
This will move the results for these tests out of being considered
interesting diff in our tool that diffs WPT results between WebLayer
and Chrome on Android. Feature support is tracked in various bugs that
are referenced on the test expectations, so if/when support is added
for a given feature, it will be easy to find the relevant expectations
to change.

Bug: 1213456, 1174856, 1091211, 1025610
Change-Id: I20fc55cfd62d153e990722675d79dcc92404ba4c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935159
Reviewed-by: Richard Knoll <[email protected]>
Commit-Queue: Colin Blundell <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888788}
See attached bug for more information.

Bug: b/188481754
Change-Id: I1a236b9cdb573a579ab131192bc1b98cc7eaf7e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2913483
Commit-Queue: Michael Cui <[email protected]>
Reviewed-by: Regan Hsu <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888789}
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/96889/overview

Bug: 1157857
Change-Id: Iac9e71a75e6d0ede5305140b52780a15b43394a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935160
Owners-Override: Morten Stenshorne <[email protected]>
Auto-Submit: Morten Stenshorne <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888790}
This CL is a follow-up change of https://crrev.com/c/2927631.
It updates PrerenderBrowserTest.PrerenderChain and turns to use
speculationrules as the prerender trigger on prerendering pages,
to ensure that Mojo capability control also defers speculation rules.


Bug: 1214964
Change-Id: I75cb4a58e48f3f18f5ec61c5786abafc180b2673
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2936200
Commit-Queue: Lingqi Chi <[email protected]>
Reviewed-by: Tsuyoshi Horo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888791}
Currently there is an issue that when the initial renderer process is
reused after the back navigation from a prerendered page, the Session
Storage state is not correctly propagated to the initial renderer
process. To fix this issue, this CL evicts the cached data in
CachedStorageArea in the renderer process after executing unload
(or freeze for BackForwardCache) event handler if the page has started
prerendering.

If the cached data was evicted, the CachedStorageArea will reload the
state from the storage service after the back navigation.

Bug: 1197383
Change-Id: Iad685d5112366e7f12a04a1c196ceedec6abf6b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2849654
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Reviewed-by: Marijn Kruisselbrink <[email protected]>
Commit-Queue: Tsuyoshi Horo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888792}
Change-Id: I996ffd9b9414af8040bbf5734d9aca876ca29192
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935598
Commit-Queue: Internal Frameworks Autoroller <bling-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Internal Frameworks Autoroller <bling-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#888793}
This CL implements PerformanceNavigationTiming.activationStart attribute
which was proposed in
WICG/nav-speculation#64 .

The activation time is set to CommonNavigationParams.navigation_start at
MakeCommonNavigationParams() in the initiator’s renderer process.

The activation time is passed from
RenderFrameHostImpl::ActivateForPrerendering() through
Document::ActivateForPrerendering(),
DocumentLoader::NotifyPrerenderingDocumentActivated(),
DocumentLoadTiming::MarkActivationStart() to
DocumentLoadTiming.activation_start_.

The value is readable from the prerendered pages as
PerformanceNavigationTiming.activationStart when Prerender2 is enabled.

Bug: 1214664

Change-Id: Iaaf89201f573c522a973f5e70cfe103b3b38efd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2897300
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Reviewed-by: Hiroki Nakagawa <[email protected]>
Commit-Queue: Tsuyoshi Horo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888794}
Test is consistently failing. See issue
https://crbug.com/1215897

BUG=1215897

Change-Id: I6f6d02624107a8402d39133918930fca4048e349
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935161
Reviewed-by: Arthur Sonzogni <[email protected]>
Reviewed-by: Titouan Rigoudy <[email protected]>
Owners-Override: Arthur Sonzogni <[email protected]>
Auto-Submit: Arthur Sonzogni <[email protected]>
Commit-Queue: Arthur Sonzogni <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888795}
https://chromium.googlesource.com/vulkan-deps/+log/c4723244df9c..e00902ff0f36

$ git log c4723244d..e00902ff0 --date=short --no-merges --format='%ad %ae %s'
2021-06-03 chromium-autoroll Roll Vulkan-ValidationLayers from 5d97074c3a01 to 779c8f104842 (4 revisions)
2021-06-02 chromium-autoroll Roll SPIRV-Tools from 126a826d3a84 to 26cdce984fe7 (2 revisions)
2021-06-02 chromium-autoroll Roll SPIRV-Tools from 8b3dc6bbed46 to 126a826d3a84 (1 revision)
2021-06-02 asamidoi Revert "Roll Vulkan-ValidationLayers from 5d97074c3a01 to faea0bb06837 (2 revisions)"
2021-06-01 chromium-autoroll Roll Vulkan-ValidationLayers from 5d97074c3a01 to faea0bb06837 (2 revisions)
2021-06-01 chromium-autoroll Roll Vulkan-ValidationLayers from 5919c92a5bf2 to 5d97074c3a01 (1 revision)
2021-06-01 chromium-autoroll Roll Vulkan-ValidationLayers from 1dfbd1790542 to 5919c92a5bf2 (1 revision)
2021-06-01 chromium-autoroll Roll SPIRV-Tools from 0861a8fa21bd to 8b3dc6bbed46 (1 revision)
2021-06-01 chromium-autoroll Roll SPIRV-Tools from 9646c733e91d to 0861a8fa21bd (1 revision)
2021-06-01 chromium-autoroll Roll SPIRV-Tools from ec1bc3e2e567 to 9646c733e91d (1 revision)
2021-05-31 chromium-autoroll Roll Vulkan-ValidationLayers from 94787b19f5f1 to 1dfbd1790542 (1 revision)
2021-05-31 chromium-autoroll Roll Vulkan-ValidationLayers from 7176ec2ec8b6 to 94787b19f5f1 (2 revisions)
2021-05-31 chromium-autoroll Roll Vulkan-Tools from daa3490ea48a to 6149e30699b3 (1 revision)

Created with:
  roll-dep src/third_party/vulkan-deps

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:linux-swangle-try-x64;luci.chromium.try:win-swangle-try-x86;luci.chromium.try:dawn-linux-x64-deps-rel;luci.chromium.try:win-asan;luci.chromium.try:linux_chromium_cfi_rel_ng
Bug: 1215666
Change-Id: I4c6dcaa5ef8dde13fef3a92395ab7ee6bd54070a
Tbr: [email protected],[email protected],[email protected]
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2936346
Commit-Queue: Fergus Dall <[email protected]>
Commit-Queue: My Nguyen <[email protected]>
Auto-Submit: Fergus Dall <[email protected]>
Reviewed-by: My Nguyen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888796}
Add a definition of a new device policy for scheduling reboots on devices. The reboots can be scheduled daily, weekly or monthly at the specified time of the day.
The policy currently applies only to devices which have enabled auto-launch app in the Kiosk session.

Bug: 1211256
Change-Id: Idaf0257799728d1afaf54c21936596719677b4fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2909852
Reviewed-by: Anqing Zhao <[email protected]>
Reviewed-by: Pavol Marko <[email protected]>
Commit-Queue: Sanja Perisic <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888797}
Bug: 1215586
Change-Id: Iff17ef32d8bb702e383e66ccb3ac0a4b76cfa07e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2933619
Reviewed-by: Ted Choc <[email protected]>
Reviewed-by: Clemens Arbesser <[email protected]>
Commit-Queue: Clemens Arbesser <[email protected]>
Auto-Submit: Prakhar Asthana <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888798}
Add :has() pseudo class syntax support and matching logic behind a
runtime test feature (CSSPseudoHas)

<Syntax support>
Add syntax support for :has() pseudo class specified in Selectors 4.
 - https://www.w3.org/TR/selectors-4/#relational

:has() pseudo class takes a relatvie selector list as an argument.
 - :has(<relative-selector-list>)
 - <relative-selector-list> = <relative-selector>#
 - <relative-selector> = <combinator>? <complex-selector>

<relative-selector> is also specified in Selector 4, but it is not
supported yet.
 - https://www.w3.org/TR/selectors-4/#relative

So this CL only supports :has argument selectors starting with
descendant combinator. Argument selectors starting with other
combinators are not supported yet.
 - .a:has(.b)    : Supported
 - .a:has(> .b)  : Not supported yet
 - .a:has(~ .b)  : Not supported yet
 - .a:has(+ .b)  : Not supported yet

<Selector matching>
Add :has() pseudo class selector matching logic.

This CL suggests a stack-allocated :has() matching status cache
to prevent repetitive tree traversal and argument selector matching
operation.

The cache stores each element status as below.
 - Matched : Checked :has() and matched
 - Checked : Checked :has() but not matched
 - NotChecked : Not checked :has() (default)

This is the pseudo code of the matching operation for the :has
pseudo class with descendant relative argument selectors.
(e.g. ':has(.a)' or ':has(:scope .a)')

 ┬ Allocate cache on stack memory
 ├ Enter the style recalculation(or node selector API) sequence
 │  ├ ...
 │  ├ Enter the selector matching sequence
 │  │  ├ If matching :has pseudo class on an element
 │  │  │  └ Enter :has selector matching sequence
 │  │  │     ├ Get argument selector
 │  │  │     ├ Get element status from cache
 │  │  │     ├ If the element status is checked
 │  │  │     │  └ If the element status is matched
 │  │  │     │    └ Finish has pseudo class matching as matched
 │  │  │     ├ Else
 │  │  │     │  ├ Set the element status as checked
 │  │  │     │  └ Traverse all descendants of the element
 │  │  │     │    ├ Get the descendant status from cache
 │  │  │     │    ├ If the descendant status is checked
 │  │  │     │    │  └ If the descendant status is matched
 │  │  │     │    │    ├ Set the element status as matched
 │  │  │     │    │    └ Finish has pseudo class matching as matched
 │  │  │     │    └ Else
 │  │  │     │      ├ Set the descendant status as checked
 │  │  │     │      └ If the descendant matches the argument selector
 │  │  │     │        ├ Get start element of the shortest match
 │  │  │     │        ├ Traverse it's ancestors until met the element
 │  │  │     │        │  └ Set the ancestor status as matched
 │  │  │     │        ├ Set the element status as matched
 │  │  │     │        └ Finish has pseudo class matching as matched
 │  │  │     └ Finish has pseudo class matching as not matched
 │  │  └ Otherwise
 │  │     └ Do other selector matching sequence
 │  └ ...
 └ Release cache from stack memory

Other cases will be handled later in the separated CLs.
 - :has(> .a) or :has(:scope > .a)
 - :has(~ .a) or :has(:scope ~ .a)
 - :has(+ .a) or :has(:scope + .a)

This CL supports :has with the following javascript APIs.
 - querySelector
 - querySelectorAll
 - matches
 - closest

Changes in this CL were originally in the below 2 CLs. Those are
merged to prevent a web_test failure. (jquery/traversing.html)
 - https://chromium-review.googlesource.com/c/chromium/src/+/2648150
 - https://chromium-review.googlesource.com/c/chromium/src/+/2695192

Change-Id: I1992b70d86f47fc5f98437e1e6abea2da021ef6b
Bug: 669058
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2914717
Reviewed-by: Rune Lillesveen <[email protected]>
Commit-Queue: Byungwoo Lee <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888799}
Bug: chromium:1207942
Change-Id: Ic5a7570e292468f279d6797be4481eb0951c79c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2933958
Commit-Queue: Titouan Rigoudy <[email protected]>
Commit-Queue: Arthur Sonzogni <[email protected]>
Auto-Submit: Titouan Rigoudy <[email protected]>
Reviewed-by: Arthur Sonzogni <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888800}
Change-Id: I3924cd8368ed21b9e0a6421f263f197f96466121
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2936716
Auto-Submit: Ben Mason <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888801}
This CL refactors the way we test UKMs. The goal is to increase
coverage and readability. Before this change, it was possible to
accidentally write incomplete UKM tests (see for example
CancellingDialogOnboardingDoesNotStopTriggerScript). Also, not all
tests forced the author to specify the trigger script UI type.

A set of ukm test utils is now provided to allow writing cleaner and
shorter expectations without requiring additional helper functions. A
custom output operator and consistent use of HumanReadableUkmEntry
ensure good test outputs in case of test failure.

Change-Id: I601326f2f0fdb509539feff87fac183e4549d1a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911423
Reviewed-by: Sandro Maggi <[email protected]>
Commit-Queue: Clemens Arbesser <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888802}
This is minor code cleanup without behavior change.

Change-Id: Ie1116103987e68c208e9efb1aacbec2a6d7da495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2934841
Commit-Queue: David Roger <[email protected]>
Commit-Queue: Mihai Sardarescu <[email protected]>
Auto-Submit: David Roger <[email protected]>
Reviewed-by: Mihai Sardarescu <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888803}
This makes setters of Location.search, HTMLAnchorElement.hash,
URL.pathname, etc., remove tabs and newlines. This aligns with the
WHATWG URL Standard and Safari, as well as Firefox partially.

There are a few exceptions. SetProtocol is unchanged due to an upstream
spec issue [1]. SetUser and SetPass should not remove tabs and newlines
per spec.

[1]: whatwg/url#609

Bug: 1214932
Change-Id: I3bcb6fa9e3b61ee5a0a03b13eca93d42912afb22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2928080
Reviewed-by: Kent Tamura <[email protected]>
Commit-Queue: Timothy Gu <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888804}
They should apply their own ComputedStyle::GetFontBaseline().

This CL doesn't affect user-visible behavior for now, and will affect
SVG Text NG later.

Bug: 1179585
Change-Id: I23eeeaa82817041b42c9d3384ba4a89887f957ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2936167
Reviewed-by: Koji Ishii <[email protected]>
Commit-Queue: Kent Tamura <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888805}
The timing to acquire and release the lock at fork(2) was not best.
pthread_atfork(3) works for most cases, but doesn't work with
GTest's death tests (such as EXPECT_CHECK_DEATH).  This patch
respects the timing of the malloc zone controller.

Change-Id: I2098a7c4b35d879bf2fc5cce1f7c5a3c0e35223d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2910031
Commit-Queue: Yuki Shiino <[email protected]>
Reviewed-by: Benoit L <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888806}
Fails here:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Ozone%20Tester%20(Wayland)/32053/overview

But it's relatively easy to reproduce locally on a regular Linux build
as well. Reproduction rate around 50%.

Bug: 502516
Change-Id: I531bfe7ee6d1225a1649609f1e57615c69510f09
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2934843
Owners-Override: Morten Stenshorne <[email protected]>
Auto-Submit: Morten Stenshorne <[email protected]>
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Anders Hartvoll Ruud <[email protected]>
Cr-Commit-Position: refs/heads/master@{#888807}
pull bot pushed a commit that referenced this pull request Feb 25, 2023
…ew."

This reverts commit 508aa18.

Reason for revert: Causes IbanBubbleViewFullFormBrowserTest.Local_ClickingHideOrShowIbanValueManageView failurees.

from https://ci.chromium.org/ui/p/chromium/builders/ci/linux-ubsan-vptr/21221/test-results?sortby=&groupby=&q=ExactID%3Aninja%3A%2F%2Fchrome%2Ftest%3Ainteractive_ui_tests%2FIbanBubbleViewFullFormBrowserTest.Local_ClickingHideOrShowIbanValueManageView+VHash%3Ad2ca29b55d68a4ff:

../../chrome/browser/ui/views/autofill/payments/iban_bubble_view_uitest.cc:282:12: runtime error: downcast of address 0x0798015a1b00 which does not point to an object of type 'SaveIbanBubbleView'
0x0798015a1b00: note: object is of type 'autofill::ManageSavedIbanBubbleView'
 29 00 00 00  38 f3 68 e6 e4 55 00 00  78 f3 68 e6 e4 55 00 00  c0 ce 6c 01 98 07 00 00  80 18 0b 00
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'autofill::ManageSavedIbanBubbleView'
    #0 0x55e4d02f0701 in autofill::IbanBubbleViewFullFormBrowserTest::GetSaveIbanBubbleView() chrome/browser/ui/views/autofill/payments/iban_bubble_view_uitest.cc:282:12
    #1 0x55e4d02fb74f in autofill::IbanBubbleViewFullFormBrowserTest::ClickOnDialogView(views::View*) chrome/browser/ui/views/autofill/payments/iban_bubble_view_uitest.cc:345:5
    #2 0x55e4d02f6e6e in autofill::IbanBubbleViewFullFormBrowserTest_Local_ClickingHideOrShowIbanValueManageView_Test::RunTestOnMainThread() chrome/browser/ui/views/autofill/payments/iban_bubble_view_uitest.cc:623:3
    #3 0x55e4d99bf48e in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:895:7
    #4 0x55e4d4a7be0d in Run base/functional/callback.h:152:12
    #5 0x55e4d4a7be0d in content::BrowserMainLoop::InterceptMainMessageLoopRun() content/browser/browser_main_loop.cc:1038:36
    #6 0x55e4d4a7bf1e in content::BrowserMainLoop::RunMainMessageLoop() content/browser/browser_main_loop.cc:1050:7
    #7 0x55e4d4a811f9 in content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:158:15
    #8 0x55e4d4a75a6d in content::BrowserMain(content::MainFunctionParams) content/browser/browser_main.cc:32:28
    #9 0x55e4d6fe2fbe in content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) content/app/content_main_runner_impl.cc:716:10
    #10 0x55e4d6fe5438 in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) content/app/content_main_runner_impl.cc:1276:10
    #11 0x55e4d6fe4f4d in content::ContentMainRunnerImpl::Run() content/app/content_main_runner_impl.cc:1130:12
    #12 0x55e4d6fe02ab in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) content/app/content_main.cc:324:36
    #13 0x55e4d6fe0935 in content::ContentMain(content::ContentMainParams) content/app/content_main.cc:341:10
    #14 0x55e4d99be269 in content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:575:3
    #15 0x55e4d7cec8e0 in InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:484:20
    #16 0x55e4d0875e53 in SyncTest::SetUp() chrome/browser/sync/test/integration/sync_test.cc:300:24
    #17 0x55e4d0e00c17 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2665:3
    #18 0x55e4d0e0265e in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2849:11
    #19 0x55e4d0e042fb in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3008:30
    #20 0x55e4d0e1a210 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5866:44
    #21 0x55e4d0e18dc8 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:5440:10
    #22 0x55e4daaaa4a0 in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2284:73
    #23 0x55e4daaaa4a0 in base::TestSuite::Run() base/test/test_suite.cc:454:16
    #24 0x55e4d7cb6b48 in ChromeTestSuiteRunner::RunTestSuiteInternal(ChromeTestSuite*) chrome/test/base/chrome_test_launcher.cc:95:22
    #25 0x55e4d03f6416 in InteractiveUITestSuiteRunner::RunTestSuite(int, char**) chrome/test/base/interactive_ui_tests_main.cc:134:12
    #26 0x55e4d99fb844 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:415:31
    #27 0x55e4d7cb722e in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) chrome/test/base/chrome_test_launcher.cc:318:10
    #28 0x55e4d03f63a1 in main chrome/test/base/interactive_ui_tests_main.cc:176:10
    #29 0x7fbe2824bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86) (BuildId: f7307432a8b162377e77a182b6cc2e53d771ec4b)
    #30 0x55e4cff4a029 in _start (/b/s/w/ir/out/Release/interactive_ui_tests+0xc8b2029) (BuildId: b65d070fe6c272ab)

also: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20CFI/24652/test-results?sortby=&groupby=&q=ExactID%3Aninja%3A%2F%2Fchrome%2Ftest%3Ainteractive_ui_tests%2FIbanBubbleViewFullFormBrowserTest.Local_ClickingHideOrShowIbanValueManageView+VHash%3A18b587341aed5390

Original change's description:
> [IBAN local save] Add eye icon to manage saved IBAN bubble view.
>
> This CL introduce Eye Icon to manage saved IBAN bubble view, which can
> reveal full IBAN value or show masked IBAN on clicking.
>
> Screenshot:
> https://screenshot.googleplex.com/3rtMkB6f6UhSL47
>
> Mock:
> https://screenshot.googleplex.com/FkAmHC4aPtzt44d
>
> Bug: 1349109
> Change-Id: I51afa60384ff1065785e8351f355eaa66c76fdd8
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4237378
> Reviewed-by: Peter Kasting <[email protected]>
> Commit-Queue: Qihui Zhao <[email protected]>
> Reviewed-by: Vinny Persky <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1109451}

Bug: 1349109
Change-Id: I473c317aaf5d70e538e6ced970ecc4294491d069
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4291366
Commit-Queue: Brian Begnoche <[email protected]>
Owners-Override: Brian Begnoche <[email protected]>
Auto-Submit: Brian Begnoche <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1109581}
pull bot pushed a commit that referenced this pull request Mar 15, 2023
Discovered while reading the log in
https://luci-milo.appspot.com/ui/inv/build-8786629360992975185/test-results?q=DeviceCommandSetVolumeTest.CommandTimeout&sortby=&groupby=
while running MSAN tests on an unrelated patch. The critical bit is:

==1719523==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x564366cfa43c in find_if<std::Cr::__wrap_iter<base::internal::UncheckedObserverAdapter *>, (lambda at ../../base/ranges/algorithm.h:31:10)> ./../../buildtools/third_party/libc++/trunk/include/__algorithm/find_if.h:24:3
    #1 0x564366cfa43c in find_if<std::Cr::__wrap_iter<base::internal::UncheckedObserverAdapter *>, (lambda at ../../base/observer_list.h:288:21), base::identity, std::Cr::random_access_iterator_tag> ./../../base/ranges/algorithm.h:465:10
    #2 0x564366cfa43c in find_if<std::Cr::vector<base::internal::UncheckedObserverAdapter, std::Cr::allocator<base::internal::UncheckedObserverAdapter> > &, (lambda at ../../base/observer_list.h:288:21), base::identity, std::Cr::random_access_iterator_tag> ./../../base/ranges/algorithm.h:483:10
    #3 0x564366cfa43c in base::ObserverList<ash::CrasAudioHandler::AudioObserver, false, true, base::internal::UncheckedObserverAdapter>::RemoveObserver(ash::CrasAudioHandler::AudioObserver const*) ./../../base/observer_list.h:287:21
    #4 0x56434c48ca96 in RemoveObserver ./../../chromeos/ash/components/audio/cras_audio_handler.h:924:13
    #5 0x56434c48ca96 in Reset ./../../base/scoped_observation.h:115:7
    #6 0x56434c48ca96 in ~ScopedObservation ./../../base/scoped_observation.h:101:26
    #7 0x56434c48ca96 in policy::(anonymous namespace)::TestAudioObserver::~TestAudioObserver() ./../../chrome/browser/ash/policy/remote_commands/device_command_set_volume_job_unittest.cc:64:41
    #8 0x56434c48c6f6 in ~DeviceCommandSetVolumeTest ./../../chrome/browser/ash/policy/remote_commands/device_command_set_volume_job_unittest.cc:88:7
    #9 0x56434c48c6f6 in policy::DeviceCommandSetVolumeTest_CommandTimeout_Test::~DeviceCommandSetVolumeTest_CommandTimeout_Test() ./../../chrome/browser/ash/policy/remote_commands/device_command_set_volume_job_unittest.cc:165:1
    #10 0x56434fd5a2ec in DeleteSelf_ ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:318:24
    #11 0x56434fd5a2ec in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #12 0x56434fd5a2ec in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2855:5
    ...
  Uninitialized value was created by a heap deallocation
    #0 0x5643395c3b89 in operator delete(void*) /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/msan/msan_new_delete.cpp:74:44
    #1 0x564366cf54d8 in ash::CrasAudioHandler::Shutdown() ./../../chromeos/ash/components/audio/cras_audio_handler.cc:162:3
    #2 0x564366651d92 in ash::AshTestHelper::TearDown() ./../../ash/test/ash_test_helper.cc:180:5
    #3 0x56436664beb4 in ash::AshTestBase::TearDown() ./../../ash/test/ash_test_base.cc:165:21
    #4 0x56434fd5a166 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2849:11
    ...

Looking at the test, it observes the global CrasAudioHandler, but never
stops observing it, and that handler is destroyed before the test
object's destructor runs (which in turn destroys the ScopedObservation).

Fix by explicitly stopping observing the handler before it's torn down.

Bug: none
Change-Id: I4c223380cb1bec87a4a5725452e35f4004013a72
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4335271
Reviewed-by: Alexander Hendrich <[email protected]>
Commit-Queue: Alexander Hendrich <[email protected]>
Auto-Submit: Peter Kasting <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1117177}
pull bot pushed a commit that referenced this pull request Mar 31, 2023
This reverts commit 3db66e4.

Reason for revert: introduced quite a lot of test failures

After this change, quite a lot of tests are failing like this when run in parallel:
Received signal 11 SEGV_MAPERR 000000000010
#0 0x5586cfbb1362 base::debug::CollectStackTrace()
#1 0x5586cfb97043 base::debug::StackTrace::StackTrace()
#2 0x5586cfbb0e5b base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f7b6f64a980 (/lib/x86_64-linux-gnu/libpthread-2.27.so+0x1297f)
#4 0x5586d30583af ash::(anonymous namespace)::GetDefaultTopRowAreFKeysValue()
#5 0x5586d3057d62 ash::(anonymous namespace)::GetDefaultKeyboardSettings()
#6 0x5586d3057702 ash::KeyboardPrefHandlerImpl::InitializeKeyboardSettings()
#7 0x5586d303eb8d ash::InputDeviceSettingsControllerImpl::OnKeyboardListUpdated()
#8 0x5586d30481db base::internal::FunctorTraits<>::Invoke<>()
#9 0x5586d30480b4 base::internal::Invoker<>::Run()
#10 0x5586d3050506 _ZNKR4base17RepeatingCallbackIFvNSt2Cr6vectorIN2ui11InputDeviceENS1_9allocatorIS4_EEEENS2_IjNS5_IjEEEEEE3RunES7_S9_
#11 0x5586d3050360 ash::InputDeviceNotifier<>::RefreshDevices()
#12 0x5586d30500e1 ash::InputDeviceNotifier<>::InputDeviceNotifier()
#13 0x5586d303e3fe ash::InputDeviceSettingsControllerImpl::Init()
#14 0x5586d303e080 ash::InputDeviceSettingsControllerImpl::InputDeviceSettingsControllerImpl()
#15 0x5586d2f83b5d ash::Shell::Init()
#16 0x5586d2f83167 ash::Shell::CreateInstance()
#17 0x5586cf57ea8a ash::AshTestHelper::SetUp()
#18 0x5586cf57e769 ash::AshTestHelper::SetUp()
#19 0x5586ce66768e BrowserWithTestWindowTest::SetUp()
#20 0x5586c8e0f37c testing::Test::Run()

and then passing on retry. See https://chromium-swarm.appspot.com/task?id=6148891f87a85710&w=true

Also reverting for the dependency for reverting
https://chromium-review.googlesource.com/c/chromium/src/+/4375455
for crbug.com/1429313.

Original change's description:
> Settings Split: Implement keyboard policies in pref handler
>
> Bug: b/241965700
> Change-Id: I5579395a53df6054e3a23bba3086e3b543aecc0c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4367666
> Reviewed-by: Michael Checo <[email protected]>
> Commit-Queue: David Padlipsky <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1123980}

Bug: b/241965700, 1429313
Change-Id: Id48919b445d28ce808d7f7c18c822338e31e2c42
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4384674
Commit-Queue: Hiroshige Hayashizaki <[email protected]>
Owners-Override: Hiroshige Hayashizaki <[email protected]>
Reviewed-by: Collin Baker <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1124303}
pull bot pushed a commit that referenced this pull request Apr 6, 2023
This reverts commit 135cdf4.

Reason for revert: Reverted on suspiscion of breaking tests:
https://chromium-review.googlesource.com/c/chromium/src/+/4404274


error
AssistantManagerServiceImplTest.ShouldNotCrashRunningAfterStopped
history | source | 
ID: ninja://chromeos:chromeos_unittests/AssistantManagerServiceImplTest.ShouldNotCrashRunningAfterStopped
 | builder Linux Chromium OS ASan LSan Tests (1) test_suite chromeos_unittests os Ubuntu-18.04
expand_more
30s run #1 unexpectedly failed in task: 616d82542ed81511
expand_more
Failure Reason (similar failures):
expect_utils.h(49): Failed
RunLoop::Run() timed out. Timeout set at TaskEnvironment@base/test/task_environment.cc:415.
{"active_queues":[{"any_thread_.immediate_incoming_queuecapacity":14,"any_thread_.immediate_incoming_queuesize":0,"delay_to_next_task_ms":0.591,"delayed_incoming_queue":[{"delayed_run_time":2274764.284,"delayed_run_time_milliseconds_from_now":0.723,"is_cancelled":false,"is_high_res":false,"nestable":true,"posted_from":"CheckResult@chromeos/ash/components/assistant/test_support/expect_utils.h:30","sequence_num":5858}],"delayed_incoming_queue_size":1,"delayed_work_queue":[],"delayed_work_queue_capacity":4,"delayed_work_queue_size":0,"enabled":true,"immediate_incoming_queue":[],"immediate_work_queue":[],"immediate_work_queue_capacity":14,"immediate_work_queue_size":0,"name":"TASK_ENVIRONMENT_DEFAULT_TQ","priority":0,"task_queue_id":"0x616000007880"}],"non_waking_wake_up_queue":{"name":"NonWakingWakeUpQueue","registered_delay_count":0},"queues_to_delete":[],"queues_to_gracefully_shutdown":[],"...
expand_more
Summary:
[ RUN      ] AssistantManagerServiceImplTest.ShouldNotCrashRunningAfterStopped
chromeos/ash/components/assistant/test_support/expect_utils.h:49: Failure
Failed
RunLoop::Run() timed out. Timeout set at TaskEnvironment@base/test/task_environment.cc:415.
{"active_queues":[{"any_thread_.immediate_incoming_queuecapacity":14,"any_thread_.immediate_incoming_queuesize":0,"delay_to_next_task_ms":0.591,"delayed_incoming_queue":[{"delayed_run_time":2274764.284,"delayed_run_time_milliseconds_from_now":0.723,"is_cancelled":false,"is_high_res":false,"nestable":true,"posted_from":"CheckResult@chromeos/ash/components/assistant/test_support/expect_utils.h:30","sequence_num":5858}],"delayed_incoming_queue_size":1,"delayed_work_queue":[],"delayed_work_queue_capacity":4,"delayed_work_queue_size":0,"enabled":true,"immediate_incoming_queue":[],"immediate_work_queue":[],"immediate_work_queue_capacity":14,"immediate_work_queue_size":0,"name":"TASK_ENVIRONMENT_DEFAULT_TQ","priority":0,"task_queue_id":"0x616000007880"}],"non_waking_wake_up_queue":{"name":"NonWakingWakeUpQueue","registered_delay_count":0},"queues_to_delete":[],"queues_to_gracefully_shutdown":[],"selector":{"immediate_starvation_count":0},"time_domain":{},"wake_up_queue":{"name":"DefaultWakeUpQueue","next_delay_ms":0.723,"registered_delay_count":1}}
Stack trace:
    #0 0x558c875ee996 in operator() ./../../base/test/scoped_run_loop_timeout.cc:54:11
    #1 0x558c875ee996 in Invoke<const (lambda at ../../base/test/scoped_run_loop_timeout.cc:51:9) &, const base::Location &, const base::RepeatingCallback<std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > ()> &, const base::Location &> ./../../base/functional/bind_internal.h:621:12
    #2 0x558c875ee996 in MakeItSo<const (lambda at ../../base/test/scoped_run_loop_timeout.cc:51:9) &, const std::Cr::tuple<base::Location, base::RepeatingCallback<std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > ()> > &, const base::Location &> ./../../base/functional/bind_internal.h:925:12
    #3 0x558c875ee996 in RunImpl<const (lambda at ../../base/test/scoped_run_loop_timeout.cc:51:9) &, const std::Cr::tuple<base::Location, base::RepeatingCallback<std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > ()> > &, 0UL, 1UL> ./../../base/functional/bind_internal.h:1025:12
    #4 0x558c875ee996 in base::internal::Invoker<base::internal::BindState<base::test::ScopedRunLoopTimeout::ScopedRunLoopTimeout(base::Location const&, base::TimeDelta, base::RepeatingCallback<std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char>> ()>)::$_0, base::Location, base::RepeatingCallback<std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char>> ()>>, void (base::Location const&)>::Run(base::internal::BindStateBase*, base::Location const&) ./../../base/functional/bind_internal.h:989:12
    #5 0x558c872b3da0 in Run ./../../base/functional/callback.h:152:12
    #6 0x558c872b3da0 in base::(anonymous namespace)::OnRunLoopTimeout(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>) ./../../base/run_loop.cc:41:25
    #7 0x558c872b8fbd in Invoke<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), base::RunLoop *, base::Location, base::RepeatingCallback<void (const base::Location &)> > ./../../base/functional/bind_internal.h:636:12
    #8 0x558c872b8fbd in MakeItSo<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), std::Cr::tuple<base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (const base::Location &)> > > ./../../base/functional/bind_internal.h:925:12
    #9 0x558c872b8fbd in RunImpl<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), std::Cr::tuple<base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (const base::Location &)> >, 0UL, 1UL, 2UL> ./../../base/functional/bind_internal.h:1025:12
    #10 0x558c872b8fbd in base::internal::Invoker<base::internal::BindState<void (*)(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>), base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (base::Location const&)>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:976:12
    #11 0x558c75bd34b0 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:152:12
    #12 0x558c87326547 in Run ./../../base/functional/callback.h:152:12
    #13 0x558c87326547 in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ./../../base/task/common/task_annotator.cc:178:34
    #14 0x558c873b4fd9 in RunTask<(lambda at ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:488:11)> ./../../base/task/common/task_annotator.h:89:5
    #15 0x558c873b4fd9 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:486:23
    #16 0x558c873b2f33 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:351:41
    #17 0x558c873b6df5 in non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
    #18 0x558c87223124 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_default.cc:40:55
    #19 0x558c873b7e7b in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:651:12
    #20 0x558c872b2938 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:134:14
    #21 0x558c8615e752 in void ash::assistant::test::ExpectResult<ash::assistant::AssistantManagerService::State>(ash::assistant::AssistantManagerService::State, base::RepeatingCallback<ash::assistant::AssistantManagerService::State ()>, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char>> const&) ./../../chromeos/ash/components/assistant/test_support/expect_utils.h:49:3
    #22 0x558c8614cebe in ash::assistant::(anonymous namespace)::AssistantManagerServiceImplTest::WaitForState(ash::assistant::AssistantManagerService::State) ./../../chromeos/ash/services/assistant/assistant_manager_service_impl_unittest.cc:233:5
    #23 0x558c8615d3b9 in ash::assistant::AssistantManagerServiceImplTest_ShouldNotCrashRunningAfterStopped_Test::TestBody() ./../../chromeos/ash/services/assistant/assistant_manager_service_impl_unittest.cc:771:3

../../chromeos/ash/components/assistant/test_support/expect_utils.h:49: Failure
Expected: run_loop.Run() doesn't generate new fatal failures in the current thread.
  Actual: it does.
AssistantManagerStateImpl: Failed waiting for expected result.
Expected "3"
Got "0"
Stack trace:
    #0 0x558c8615eb1f in void ash::assistant::test::ExpectResult<ash::assistant::AssistantManagerService::State>(ash::assistant::AssistantManagerService::State, base::RepeatingCallback<ash::assistant::AssistantManagerService::State ()>, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char>> const&) ./../../chromeos/ash/components/assistant/test_support/expect_utils.h:49:3
    #1 0x558c8614cebe in ash::assistant::(anonymous namespace)::AssistantManagerServiceImplTest::WaitForState(ash::assistant::AssistantManagerService::State) ./../../chromeos/ash/services/assistant/assistant_manager_service_impl_unittest.cc:233:5
    #2 0x558c8615d3b9 in ash::assistant::AssistantManagerServiceImplTest_ShouldNotCrashRunningAfterStopped_Test::TestBody() ./../../chromeos/ash/services/assistant/assistant_manager_service_impl_unittest.cc:771:3

[  FAILED  ] AssistantManagerServiceImplTest.ShouldNotCrashRunningAfterStopped (30026 ms)


Original change's description:
> assistant: Prevent timing issue in media_host
>
> In some situations, the libassistant_media_controller_ inside
> media_host_ could be nullptr. In these cases, we need to avoid to call
> methods on the nullptr.
>
> Bug: b:277107422
> Test: added new unittest
> Change-Id: If13bd4c887f4641f0cfb8380f3fe604fe288b145
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4404274
> Reviewed-by: Xiaohui Chen <[email protected]>
> Commit-Queue: Tao Wu <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1126976}

Bug: b:277107422
Change-Id: I63c5d52d25c7522e263ba8765da6e0028a4616cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4405589
Bot-Commit: Rubber Stamper <[email protected]>
Owners-Override: Peter Williamson <[email protected]>
Auto-Submit: Peter Williamson <[email protected]>
Commit-Queue: Peter Williamson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1127244}
pull bot pushed a commit that referenced this pull request Jun 15, 2023
This reverts commit 3438f2a.

Reason for revert: Suspect causing blink_wpt_tests and blink_web_tests failure on Linux Tests (dbg)(1) bot.

Failed tests:
blink_wpt_tests failed because of:
external/wpt/css/css-contain/content-visibility/detach-locked-slot-children-crash.html
external/wpt/css/css-contain/content-visibility/element-reassigned-to-skipped-slot.html
external/wpt/css/css-contain/content-visibility/element-reassigned-to-slot-in-skipped-subtree.html
external/wpt/html/semantics/forms/the-input-element/focus-dynamic-type-change-on-blur.html
...7 more failure(s) (11 total)...

blink_web_tests failed because of:
accessibility/details-summary-crash.html
fast/events/drag-on-removed-slider-does-not-crash.html
fast/forms/range/range-type-change-onchange-2.html
html/details_summary/details-add-summary.html
...5 more failure(s) (9 total)...

First build failure:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/114032/overview

Sample log:
---
STDERR: #6 0x7fc01bd0361d logging::CheckError::~CheckError()
STDERR: #7 0x7fbffd21d08a blink::FlatTreeTraversal::AssertPrecondition()
STDERR: #8 0x7fbffd21cfd5 blink::FlatTreeTraversal::Parent()
STDERR: #9 0x7fbffd3c2a45 blink::FlatTreeTraversal::AncestorsOf()
STDERR: #10 0x7fbffd3d410e blink::(anonymous namespace)::NearestLockedExclusiveAncestor()
STDERR: #11 0x7fbffd3d3d17 blink::DisplayLockUtilities::IsInUnlockedOrActivatableSubtree()
STDERR: #12 0x7fbfedfabc4b blink::DisplayLockUtilities::ShouldIgnoreNodeDueToDisplayLock()
STDERR: #13 0x7fbfedf8b61c blink::AXObject::ToString()
STDERR: #14 0x7fbfedf8eccc blink::AXObject::Detach()
STDERR: #15 0x7fbfedf512df blink::AXNodeObject::Detach()
STDERR: #16 0x7fbfedf2d6a5 blink::AXLayoutObject::Detach()
STDERR: #17 0x7fbfedfce51a blink::AXObjectCacheImpl::Remove()
STDERR: #18 0x7fbfedfcd998 blink::AXObjectCacheImpl::Remove()
STDERR: #19 0x7fbfedfcdd74 blink::AXObjectCacheImpl::Remove()
STDERR: #20 0x7fbfedfce992 blink::AXObjectCacheImpl::Remove()
STDERR: #21 0x7fbffe6d16be blink::LayoutObject::WillBeDestroyed()
---

Original change's description:
> [A11y] Reland targeted cached property invalidation
>
> Relands the following CLS:
> * Enhance performance by targeting value updates to specific nodes, commit 704633e.
> * Don't queue anything for irrelevant attribute changes, commit 2c66a62.
> * Add comment explaining call to UpdateStyleAndLayoutTreeForNode(), commit 73b9eed.
> * Ensure cached values not invalidated during the computation of them, commit 4d167a6.
> * Run a test with --force-renderer-accessibility that used to fail, commit cab7ecd.
> * Simplify code to update cached focusable state, commit 79cb184.
> * Simplify code that invalidates cached values on an AXObject, commit 6df79a5.
>
> Fixed: 1446864, 1446550, 1434555, 1362758
> Change-Id: I16855bdcb746cb41387b69e1e97ab72ffc47e342
> Cq-Do-Not-Cancel-Tryjobs: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4545510
> Commit-Queue: Aaron Leventhal <[email protected]>
> Reviewed-by: Jacques Newman <[email protected]>
> Reviewed-by: Chris Harrelson <[email protected]>
> Reviewed-by: Philip Rogers <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1157878}

Change-Id: Iefe59fe1933747346eda8827fd683f310d6cddb3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4615927
Reviewed-by: Takuto Ikuta <[email protected]>
Owners-Override: Takuto Ikuta <[email protected]>
Commit-Queue: Takuto Ikuta <[email protected]>
Auto-Submit: Takashi Sakamoto <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1157993}
pull bot pushed a commit that referenced this pull request Aug 4, 2023
This reverts commit 7e52434.

Reason for revert: the new test is failing, and is likely causing other tests to fail as well.

See:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/37593/test-results?sortby=&groupby=

Sample failure:

[ RUN      ] TimeOfDayTest.ReturnsNullTimeWhenLocalTimeFails
==324697==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x5632f6dd4ee3 in base::Time::Exploded::HasValidValues() const ./../../base/time/time.cc:302:23
    #1 0x5632f61d489d in ash::TimeOfDay::ToTimeToday() const ./../../ash/system/time/time_of_day.cc:54:12
    #2 0x5632ea366c82 in ash::(anonymous namespace)::TimeOfDayTest_ReturnsNullTimeWhenLocalTimeFails_Test::TestBody() ./../../ash/system/time/time_of_day_unittest.cc:98:3
    #3 0x5632f496278c in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest-internal-inl.h:0:10
    #4 0x5632f496278c in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2670:5
    #5 0x5632f49650b3 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2849:11
    #6 0x5632f4967144 in testing::TestSuite::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:3008:30
    #7 0x5632f4994c10 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5866:44
    #8 0x5632f4993ce2 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> ./../../third_party/googletest/src/googletest/src/gtest-internal-inl.h:0:10
    #9 0x5632f4993ce2 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:5440:10
    #10 0x5632f6f60f30 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2284:73
    #11 0x5632f6f60f30 in base::TestSuite::Run() ./../../base/test/test_suite.cc:461:16
    #12 0x5632f6f6c137 in Run ./../../base/functional/callback.h:152:12
    #13 0x5632f6f6c137 in RunTestSuite ./../../base/test/launcher/unit_test_launcher.cc:179:38
    #14 0x5632f6f6c137 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) ./../../base/test/launcher/unit_test_launcher.cc:240:10
    #15 0x5632f6f6b824 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) ./../../base/test/launcher/unit_test_launcher.cc:288:10
    #16 0x5632f68395ae in main ./../../ash/test/ash_unittests.cc:29:10
    #17 0x7f1f985cd082 in __libc_start_main ??:0:0
    #18 0x5632e637b029 in _start ??:0:0

  Uninitialized value was created by an allocation of 'now' in the stack frame
    #0 0x5632f61d4706 in ash::TimeOfDay::ToTimeToday() const ./../../ash/system/time/time_of_day.cc:48:3


Other tests seem to be failing for the same reasons, e.g.
ScheduledFeatureTest.HandlesLocalTimeFailuresSunsetToSunrise

Original change's description:
> Explicitly check when local time conversion fails.
>
> base::Time::LocalExplode() can fail. The API says to check
> base::Time::Exploded::HasValidValues() to detect this.
>
> This functionally is probably the same as before because we
> were passing the exploded output to base::Time::FromLocalExploded()
> immediately after, and presumably, that would fail if the exploded
> input had invalid values. But it's clearer to the reader if this
> is explicitly checked first.
>
> A unit test has also been added to TimeOfDay.
>
> Bug: b:294436942
> Change-Id: I751da660df4c89a9c545d465dfb5361dfb2acc64
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4750820
> Reviewed-by: Jiaming Cheng <[email protected]>
> Commit-Queue: Eric Sum <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1179335}

Bug: b:294436942
Change-Id: Iee92b34c51d4b202b6018dd1c62ddd4c4f76eaf6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4748880
Commit-Queue: David Roger <[email protected]>
Owners-Override: David Roger <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1179492}
pull bot pushed a commit that referenced this pull request Aug 4, 2023
… LogMessage."

This reverts commit 07a88f3.

Reason for revert: breaks MSAN bot
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/37602/test-results

[ RUN      ] CStringBuilderTestPA.Char
==313264==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x563432178a89 in partition_alloc::internal::base::strings::CStringBuilder::c_str() ./../../base/allocator/partition_allocator/partition_alloc_base/strings/cstring_builder.cc:145:7
    #1 0x563431d9652c in partition_alloc::internal::base::strings::CStringBuilderTestPA_Char_Test::TestBody() ./../../base/allocator/partition_allocator/partition_alloc_base/strings/cstring_builder_pa_unittest.cc:33:3
    #2 0x5634322101ba in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest-internal-inl.h:0:10
    #3 0x5634322101ba in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2670:5
    #4 0x563432212ae1 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2849:11
    #5 0x563432214b72 in testing::TestSuite::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:3008:30
    #6 0x563432242552 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5866:44
    #7 0x563432241624 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> ./../../third_party/googletest/src/googletest/src/gtest-internal-inl.h:0:10
    #8 0x563432241624 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:5440:10
    #9 0x5634329698b0 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2284:73
    #10 0x5634329698b0 in base::TestSuite::Run() ./../../base/test/test_suite.cc:461:16
    #11 0x5634329cc377 in Run ./../../base/functional/callback.h:152:12
    #12 0x5634329cc377 in RunTestSuite ./../../base/test/launcher/unit_test_launcher.cc:179:38
    #13 0x5634329cc377 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) ./../../base/test/launcher/unit_test_launcher.cc:240:10
    #14 0x5634329cba64 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) ./../../base/test/launcher/unit_test_launcher.cc:288:10
    #15 0x5634328f3de4 in main ./../../base/test/run_all_unittests.cc:70:10
    #16 0x7f308e293082 in __libc_start_main ??:0:0
    #17 0x56342e6a1349 in _start ??:0:0

  Uninitialized value was created by an allocation of 'builder' in the stack frame
    #0 0x563431d96365 in partition_alloc::internal::base::strings::CStringBuilderTestPA_Char_Test::TestBody() ./../../base/allocator/partition_allocator/partition_alloc_base/strings/cstring_builder_pa_unittest.cc:31:3

SUMMARY: MemorySanitizer: use-of-uninitialized-value (/b/s/w/ir/out/Release/base_unittests+0x43f5a89) (BuildId: 039152aa25034492)
Exiting

Original change's description:
> [PA] Add CStringBuilder to replace std::ostringstream used by LogMessage.
>
> Since std::ostringstream allocates and deallocates memory from heap, c.f. https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:buildtools/third_party/libc++/trunk/src/ios.cpp
>
> std::ostringstream is not available inside memory allocation. Instead
> add CStringBuilder (not resize, fixed buffer size) for LogMessage.
>
> Change-Id: I8051978487acc5fc9b976d6085909b43f81d9d0d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4744311
> Reviewed-by: Yuki Shiino <[email protected]>
> Commit-Queue: Takashi Sakamoto <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1179481}

Change-Id: Idb29e3252d9fe67955c0ae25ab46640ebfdae336
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4748189
Auto-Submit: David Roger <[email protected]>
Owners-Override: David Roger <[email protected]>
Commit-Queue: David Roger <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1179539}
pull bot pushed a commit that referenced this pull request Aug 9, 2023
This reverts commit 9888813.

Reason for revert: Roll forward with msan fix.

Original change's description:
> Revert "Explicitly check when local time conversion fails."
>
> This reverts commit 7e52434.
>
> Reason for revert: the new test is failing, and is likely causing other tests to fail as well.
>
> See:
> https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/37593/test-results?sortby=&groupby=
>
> Sample failure:
>
> [ RUN      ] TimeOfDayTest.ReturnsNullTimeWhenLocalTimeFails
> ==324697==WARNING: MemorySanitizer: use-of-uninitialized-value
>     #0 0x5632f6dd4ee3 in base::Time::Exploded::HasValidValues() const ./../../base/time/time.cc:302:23
>     #1 0x5632f61d489d in ash::TimeOfDay::ToTimeToday() const ./../../ash/system/time/time_of_day.cc:54:12
>     #2 0x5632ea366c82 in ash::(anonymous namespace)::TimeOfDayTest_ReturnsNullTimeWhenLocalTimeFails_Test::TestBody() ./../../ash/system/time/time_of_day_unittest.cc:98:3
>     #3 0x5632f496278c in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest-internal-inl.h:0:10
>     #4 0x5632f496278c in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2670:5
>     #5 0x5632f49650b3 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2849:11
>     #6 0x5632f4967144 in testing::TestSuite::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:3008:30
>     #7 0x5632f4994c10 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5866:44
>     #8 0x5632f4993ce2 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> ./../../third_party/googletest/src/googletest/src/gtest-internal-inl.h:0:10
>     #9 0x5632f4993ce2 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:5440:10
>     #10 0x5632f6f60f30 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2284:73
>     #11 0x5632f6f60f30 in base::TestSuite::Run() ./../../base/test/test_suite.cc:461:16
>     #12 0x5632f6f6c137 in Run ./../../base/functional/callback.h:152:12
>     #13 0x5632f6f6c137 in RunTestSuite ./../../base/test/launcher/unit_test_launcher.cc:179:38
>     #14 0x5632f6f6c137 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) ./../../base/test/launcher/unit_test_launcher.cc:240:10
>     #15 0x5632f6f6b824 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) ./../../base/test/launcher/unit_test_launcher.cc:288:10
>     #16 0x5632f68395ae in main ./../../ash/test/ash_unittests.cc:29:10
>     #17 0x7f1f985cd082 in __libc_start_main ??:0:0
>     #18 0x5632e637b029 in _start ??:0:0
>
>   Uninitialized value was created by an allocation of 'now' in the stack frame
>     #0 0x5632f61d4706 in ash::TimeOfDay::ToTimeToday() const ./../../ash/system/time/time_of_day.cc:48:3
>
>
> Other tests seem to be failing for the same reasons, e.g.
> ScheduledFeatureTest.HandlesLocalTimeFailuresSunsetToSunrise
>
> Original change's description:
> > Explicitly check when local time conversion fails.
> >
> > base::Time::LocalExplode() can fail. The API says to check
> > base::Time::Exploded::HasValidValues() to detect this.
> >
> > This functionally is probably the same as before because we
> > were passing the exploded output to base::Time::FromLocalExploded()
> > immediately after, and presumably, that would fail if the exploded
> > input had invalid values. But it's clearer to the reader if this
> > is explicitly checked first.
> >
> > A unit test has also been added to TimeOfDay.
> >
> > Bug: b:294436942
> > Change-Id: I751da660df4c89a9c545d465dfb5361dfb2acc64
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4750820
> > Reviewed-by: Jiaming Cheng <[email protected]>
> > Commit-Queue: Eric Sum <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1179335}
>
> Bug: b:294436942
> Change-Id: Iee92b34c51d4b202b6018dd1c62ddd4c4f76eaf6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4748880
> Commit-Queue: David Roger <[email protected]>
> Owners-Override: David Roger <[email protected]>
> Bot-Commit: Rubber Stamper <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1179492}

Bug: b:294436942
Change-Id: I81aca119976bca9c4992f20064b3923146c5ab4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4752645
Reviewed-by: James Cook <[email protected]>
Reviewed-by: Jiaming Cheng <[email protected]>
Commit-Queue: Eric Sum <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1181006}
pull bot pushed a commit that referenced this pull request Sep 2, 2023
…ation

At least on Linux X11, views::test::TestDesktopScreenOzone::Create() may
try to retrieve a localized string for "Built-in display" after [1].
But screen creation happens early for interactive UI tests since [2], at
least before ChromeFeatureListCreator::ConvertFlagsToSwitches() which
assumes ui::ResourceBundle is not initialized. This is causing the crash
below for all interactive UI tests on Linux X11, which this CL fixes by
temporarily initializing ui::ResourceBundle during screen creation.
See crbug.com/1457129 for details.

    [24841:24841:FATAL:resource_bundle.cc(357)] Check failed: g_shared_instance_ != nullptr.
    #0 0x5585747ceee2 base::debug::CollectStackTrace()
    #1 0x5585747b6213 base::debug::StackTrace::StackTrace()
    #2 0x5585746ab79d logging::LogMessage::~LogMessage()
    #3 0x5585746ac2ee logging::LogMessage::~LogMessage()
    #4 0x558574692437 logging::CheckError::~CheckError()
    #5 0x558574bd6075 ui::ResourceBundle::GetSharedInstance()
    #6 0x558574bc0a18 l10n_util::GetStringUTF8()
    #7 0x5585758fddc1 ui::BuildDisplaysFromXRandRInfo()
    #8 0x5585758fb539 ui::XDisplayManager::FetchDisplayList()
    #9 0x5585758fb449 ui::XDisplayManager::Init()
    #10 0x55856dd0e34c ui::X11ScreenOzone::Init()
    #11 0x55856d09ed3d views::test::TestDesktopScreenOzone::Create()
    #12 0x558572c7ec70 InProcessBrowserTest::SetScreenInstance()
    #13 0x558572c7e44f InProcessBrowserTest::SetUp()
    #14 0x55856d24c5f2 testing::Test::Run()
    #15 0x55856d24d865 testing::TestInfo::Run()
    #16 0x55856d24e337 testing::TestSuite::Run()
    #17 0x55856d25cf07 testing::internal::UnitTestImpl::RunAllTests()
    #18 0x55856d25c9ff testing::UnitTest::Run()
    #19 0x5585746730ec base::TestSuite::Run()
    #20 0x558572c5eddb ChromeTestSuiteRunner::RunTestSuiteInternal()
    #21 0x55856cc79be4 InteractiveUITestSuiteRunner::RunTestSuite()
    #22 0x558572c5f069 ChromeTestLauncherDelegate::RunTestSuite()
    #23 0x558573d7b9ab content::LaunchTestsInternal()
    #24 0x558572c5f325 LaunchChromeTests()

Bug: 1457129

[1] crrev.com/1010705
[2] crrev.com/1011300

Change-Id: I173b41d4369fa26332a37b0f89e14669b6b227a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4632804
Commit-Queue: Frédéric Wang <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1191366}
pull bot pushed a commit that referenced this pull request Sep 2, 2023
…reen creation"

This reverts commit 5931e82.

Reason for revert: Suspect causing multiple test failed on Linux Tests (dbg)(1)
first failure:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/115562/overview

Original change's description:
> interactive_ui_tests: use temporary ui::ResourceBundle for screen creation
>
> At least on Linux X11, views::test::TestDesktopScreenOzone::Create() may
> try to retrieve a localized string for "Built-in display" after [1].
> But screen creation happens early for interactive UI tests since [2], at
> least before ChromeFeatureListCreator::ConvertFlagsToSwitches() which
> assumes ui::ResourceBundle is not initialized. This is causing the crash
> below for all interactive UI tests on Linux X11, which this CL fixes by
> temporarily initializing ui::ResourceBundle during screen creation.
> See crbug.com/1457129 for details.
>
>     [24841:24841:FATAL:resource_bundle.cc(357)] Check failed: g_shared_instance_ != nullptr.
>     #0 0x5585747ceee2 base::debug::CollectStackTrace()
>     #1 0x5585747b6213 base::debug::StackTrace::StackTrace()
>     #2 0x5585746ab79d logging::LogMessage::~LogMessage()
>     #3 0x5585746ac2ee logging::LogMessage::~LogMessage()
>     #4 0x558574692437 logging::CheckError::~CheckError()
>     #5 0x558574bd6075 ui::ResourceBundle::GetSharedInstance()
>     #6 0x558574bc0a18 l10n_util::GetStringUTF8()
>     #7 0x5585758fddc1 ui::BuildDisplaysFromXRandRInfo()
>     #8 0x5585758fb539 ui::XDisplayManager::FetchDisplayList()
>     #9 0x5585758fb449 ui::XDisplayManager::Init()
>     #10 0x55856dd0e34c ui::X11ScreenOzone::Init()
>     #11 0x55856d09ed3d views::test::TestDesktopScreenOzone::Create()
>     #12 0x558572c7ec70 InProcessBrowserTest::SetScreenInstance()
>     #13 0x558572c7e44f InProcessBrowserTest::SetUp()
>     #14 0x55856d24c5f2 testing::Test::Run()
>     #15 0x55856d24d865 testing::TestInfo::Run()
>     #16 0x55856d24e337 testing::TestSuite::Run()
>     #17 0x55856d25cf07 testing::internal::UnitTestImpl::RunAllTests()
>     #18 0x55856d25c9ff testing::UnitTest::Run()
>     #19 0x5585746730ec base::TestSuite::Run()
>     #20 0x558572c5eddb ChromeTestSuiteRunner::RunTestSuiteInternal()
>     #21 0x55856cc79be4 InteractiveUITestSuiteRunner::RunTestSuite()
>     #22 0x558572c5f069 ChromeTestLauncherDelegate::RunTestSuite()
>     #23 0x558573d7b9ab content::LaunchTestsInternal()
>     #24 0x558572c5f325 LaunchChromeTests()
>
> Bug: 1457129
>
> [1] crrev.com/1010705
> [2] crrev.com/1011300
>
> Change-Id: I173b41d4369fa26332a37b0f89e14669b6b227a1
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4632804
> Commit-Queue: Frédéric Wang <[email protected]>
> Reviewed-by: Scott Violet <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1191366}

Bug: 1457129, 1478318
Change-Id: Ib5adf3d8d8fb0b80789b6351f90cade2d6a6b682
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4833241
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Owen Min <[email protected]>
Reviewed-by: Peter Williamson <[email protected]>
Owners-Override: Owen Min <[email protected]>
Auto-Submit: Owen Min <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1191537}
pull bot pushed a commit that referenced this pull request Sep 5, 2023
@AliMariam reported the dangling pointer detector found a new dangling
pointer when running tests on linux Workstation.

The error is:
```
  The memory was freed at:
  #3  allocator_shim::internal::PartitionFree()
  #4  bluez::BluezDBusThreadManager::~BluezDBusThreadManager()
  #5  bluez::BluezDBusThreadManager::Shutdown()
  #6  ChromeBrowserMainPartsLinux::PostDestroyThreads()
  #7  content::BrowserMainLoop::ShutdownThreadsAndCleanUp()
  #8  content::BrowserMainRunnerImpl::Shutdown()
  #9  content::BrowserMain()
  #10 content::RunBrowserProcessMain()
  #11 content::ContentMainRunnerImpl::RunBrowser()
  #12 content::ContentMainRunnerImpl::Run()
  #13 content::RunContentProcess()
  #14 content::ContentMain()
  #15 ChromeMain

  The dangling raw_ptr was released at:
  #3  base::internal::RawPtrBackupRefImpl<>::ReleaseInternal()
  #4  dbus::ObjectManager::~ObjectManager()
  #5  std::__Cr::__tuple_impl<>::~__tuple_impl()
  #6  base::internal::BindState<>::Destroy()
  #7  base::[...]::LazilyDeallocatedDeque<>::Ring::~Ring()
  #8  base::[...]::TaskQueueImpl::UnregisterTaskQueue()
  #9  base::[...]::SequenceManagerImpl::UnregisterTaskQueueImpl()
  #10 base::sequence_manager::TaskQueue::ShutdownTaskQueue()
  #11 content::BrowserTaskQueues::~BrowserTaskQueues()
  #12 content::BrowserUIThreadScheduler::~BrowserUIThreadScheduler()
  #13 content::BrowserTaskExecutor::[...]::~UIThreadExecutor()
  #14 content::BrowserTaskExecutor::[...]::~UIThreadExecutor()
  #15 content::BrowserTaskExecutor::Shutdown()
  #16 content::ContentMainRunnerImpl::Shutdown()
  #17 content::RunContentProcess()
  #18 content::ContentMain()
  #19 ChromeMain
```

Diagnostic:
- `bluez::BluezDBusThreadManager` owns a `dbus::Bus` as `system_bus`.
- `dbus::Bus` owns:
  - The set of `dbus::ObjectManager` as `object_manager_table_`.
  - The DBus task runner as `dbus_task_runner_`.
- The `dbus::ObjectManager` references `dbus::Bus` via `bus_`.

So far so good, the ownership is clear. The problem happens when calling
`dbus::Bus::RemoveObjectManager`. Indeed this moves the ObjectManager
out of `dbus::Bus` toward a callback to a new thread. This still works
transitively, because the dbus::Bus owns the thread. The problem happens
after a second transfer back to the original thread.

Indeed, there is a race condition possible:

Behavior without problems: -----------------------------------

┌─────────────┐                    ┌───────────┐
│Origin thread│                    │DBus thread│
└──────┬──────┘                    └─────┬─────┘
RemoveObjectManager()                    │
       │────────────────────────────────>│
       │                      RemoveObjectManagerInternal()
       │<────────────────────────────────│
RemoveObjectManagerInternalHelper()      │
~ObjectManager()                         │
       │                           ┌─────┴─────┐
Shutdown DBus Thread ─────────────>│DBus thread│
Shutdown DBus Thread <─────────────│DBus thread│
       │                           └───────────┘
      ~Bus
┌──────┴──────┐
│Origin thread│
└─────────────┘

Behavior with problems: ----------------------------------------

┌─────────────┐                    ┌───────────┐
│Origin thread│                    │DBus thread│
└──────┬──────┘                    └─────┬─────┘
RemoveObjectManager()                    │
       │────────────────────────────────>│
       │                      RemoveObjectManagerInternal()
       │                    ┌────────────│
       │                    │      ┌─────┴─────┐
Shutdown DBus Thread ─────────────>│DBus thread│
Shutdown DBus Thread <─────────────│DBus thread│
       │                    │      └───────────┘
     ~Bus()                 │
       │                    │
       │<───────────────────┘
RemoveObjectManagerInternalHelper()
~ObjectManager()
┌──────┴──────┐
│Origin thread│
└─────────────┘
-----------------------------------------------------------------

In the second case: ~Bus() is called before ~ObjectManager().

The fix is a use `ObjectManager::Cleanup()` to cleanup the raw_ptr while
the object is still transitively owned by the object it referenced.

Bug: chromium:1478759
Fixed: chromium:1478759
Change-Id: I4ac04d449ab8a7b860256c490f8ac878c1c5c7c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4839496
Reviewed-by: Ryo Hashimoto <[email protected]>
Commit-Queue: Arthur Sonzogni <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1192343}
pull bot pushed a commit that referenced this pull request Nov 16, 2023
When the AppStorage is enabled, the AppInstallEventLoggerTest tests are
broken::
WARNING unit_tests[1962400:1962400]: [pref_notifier_impl.cc(41)] Pref observer for policy.system_features_disable_mode found at shutdown.
WARNING unit_tests[1962400:1962400]: [pref_notifier_impl.cc(41)] Pref observer for policy.system_features_disable_list found at shutdown.
Received signal 11 SEGV_MAPERR 0000000000e8
...
#5 0x7f5bac8cc433 pthread_mutex_trylock
...
#11 0x7f5c2e94f11d base::ScopedValidateSequenceChecker::ScopedValidateSequenceChecker()
#12 0x7f5c42fdbc30 PrefNotifierImpl::RemovePrefObserver()
#13 0x7f5c42fe91b1 PrefService::RemovePrefObserver()
#14 0x7f5c42fd3355 PrefChangeRegistrar::RemoveAll()
#15 0x7f5c42fd3299 PrefChangeRegistrar::~PrefChangeRegistrar()

Because the app publishers, ExtensionAppsChromeOs, still observes
pref(g_browser_process->local_state())[1].

Modify the test to reorder the memver variables(profile_ &
pref_service_) creation to destroy the profile first, then destory the
local_state pref, to address the broken test issue, and align with the
production code.

[1] https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/apps/app_service/publishers/extension_apps_chromeos.cc;l=258;bpv=1

BUG=1385932, b:307623506

Change-Id: I4144cb8d13c3bedfa0b5235cb6097fb1d8bcd655
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4950385
Reviewed-by: Xiyuan Xia <[email protected]>
Commit-Queue: Nancy Wang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1225773}
pull bot pushed a commit that referenced this pull request Dec 9, 2023
When the kAppServiceStorage flag is enabled, AppService blocks the
app publishers creating until it's ready, after reading from the
AppStorage file. This affects some tests, e.g.
QuickAnswersStateAshTest.*. Those tests crash because no data path
for the profile:
Received signal 11 SEGV_MAPERR 000000000017
...
#9 0x7f445a1f27b7 base::FilePath::Append()
#10 0x7f44710376e4 ash::BrowserContextHelper::GetBrowserContextPathByUserIdHash()
#11 0x55e7a2294d85 ash::ProfileHelperImpl::GetUserByProfile()
#12 0x55e7a22944d7 ash::ProfileHelper::IsPrimaryProfile()
#13 0x55e7b07a2a23 NearbySharingServiceFactory::IsNearbyShareSupportedForBrowserContext()
...

Modify the test setup process to create the user manager first, then
create the profile to align with the production code.

Remove `scoped_user_manager_` in TestExtensionSystem, as that has been moved to TestProfile.

BUG=1385932, b:307623506

Change-Id: Ib07f4a5a347893b7eab8d3bb8cd870c6831898c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5076443
Reviewed-by: Reilly Grant <[email protected]>
Commit-Queue: Nancy Wang <[email protected]>
Reviewed-by: Xiaohui Chen <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1235337}
pull bot pushed a commit that referenced this pull request Dec 19, 2023
When the kAppServiceStorage flag is enabled, AppService blocks the
app publishers creating until it's ready, after reading from the
AppStorage file. This affects some tests, e.g.
DeviceAPIServiceRegularUserTest.*, because no data path
for the profile:
Received signal 11 SEGV_MAPERR 000000000017
...
#9 0x7fb1f37f6ec7 base::FilePath::Append()
#10 0x7fb20a6396ec ash::BrowserContextHelper::GetBrowserContextPathByUserIdHash()
#11 0x55d607da3a0c ash::ProfileHelperImpl::GetUserByProfile()
#12 0x55d607da32f7 ash::ProfileHelper::IsPrimaryProfile()
#13 0x55d616260503 NearbySharingServiceFactory::IsNearbyShareSupportedForBrowserContext()
#14 0x55d6156cd0fc NotificationDisplayServiceImpl::NotificationDisplayServiceImpl()
#15 0x55d6156ccc49 std::__Cr::make_unique<>()
...
BrowserContextKeyedServiceFactory::GetServiceForBrowserContext()
#20 0x55d6156ccab2 NotificationDisplayServiceFactory::GetForProfile()
#21 0x55d605d350be apps::ExtensionAppsChromeOs::Initialize()
#22 0x55d605d8041b apps::PublisherHost::Initialize()
#23 0x55d605d8026c apps::PublisherHost::PublisherHost()

Actually TestingProfile can create FakeChromeUserManager[1]. So we
can get  FakeChromeUserManager directly.

Remove `scoped_user_manager_`, as that has been moved to TestProfile.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/5076443/20/chrome/test/base/testing_profile.cc

BUG=1385932, b:307623506

Change-Id: Ib26c7fc9fcfa950e01246df6e13a8f3ee449b22b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5134109
Reviewed-by: Ben Franz <[email protected]>
Commit-Queue: Nancy Wang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1239047}
pull bot pushed a commit that referenced this pull request Jan 18, 2024
When the kAppServiceStorage flag is enabled, AppService blocks the
app publishers creating until it's ready, after reading from the
AppStorage file. This affects some tests, e.g.
NetworkConfigurationUpdaterAshTest.*. Those tests crash because no
data path for the profile:
Received signal 11 SEGV_MAPERR 000000000017
...
#9 0x7fb71a1fe827 base::FilePath::Append()
#10 0x7fb72e112a6c ash::BrowserContextHelper::GetBrowserContextPathByUserIdHash()
#11 0x556a750dbf21 ash::ProfileHelperImpl::GetUserByProfile()
#12 0x556a750db807 ash::ProfileHelper::IsPrimaryProfile()
#13 0x556a834e83a3 NearbySharingServiceFactory::IsNearbyShareSupportedForBrowserContext()
#14 0x556a8295719c NotificationDisplayServiceImpl::NotificationDisplayServiceImpl()
#15 0x556a82956ce9 std::__Cr::make_unique<>()
...
#19 0x7fb6fcef560c BrowserContextKeyedServiceFactory::GetServiceForBrowserContext()
#20 0x556a82956b52 NotificationDisplayServiceFactory::GetForProfile()
#21 0x556a7305f5be apps::ExtensionAppsChromeOs::Initialize()
#22 0x556a730aa83b apps::PublisherHost::Initialize()
#23 0x556a730aa68c apps::PublisherHost::PublisherHost()

The reason should because of FakeUserManager. Actually the fake user
manager is created in TestingProfile, so we don't need to build a new
one, and we can get the user manager directly with:
user_manager::UserManager::Get()

Modify the test setup process to get the user manager directly, and
remove `user_manager_` in the test code, as that has been moved to
TestProfile.

BUG=1385932, b:307623506

Change-Id: I5873858d5e18ca6196bc5b83ed38d87e1f18ae14
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5188272
Reviewed-by: Anqing Zhao <[email protected]>
Commit-Queue: Nancy Wang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1248444}
pull bot pushed a commit that referenced this pull request Jan 18, 2024
...triggers entry doom and thus ends up running the operation queue in the wrong spot of creation (and entry op) completion handler. This can among other things result in this madness:

#6 disk_cache::SimpleEntryImpl::CloseInternal()
#7 disk_cache::SimpleEntryImpl::RunNextOperationIfNeeded()
#8 SimpleEntryImpl::ScopedOperationRunner::~ScopedOperationRunner()
#9 disk_cache::SimpleEntryImpl::WriteDataInternal()
#10 disk_cache::SimpleEntryImpl::RunNextOperationIfNeeded()
#11 SimpleEntryImpl::ScopedOperationRunner::~ScopedOperationRunner()
#12 disk_cache::SimpleEntryImpl::WriteDataInternal()
#13 disk_cache::SimpleEntryImpl::RunNextOperationIfNeeded()
#14 disk_cache::SimpleEntryImpl::DoomEntry()
#15 disk_cache::SimpleBackendImpl::DoomEntryFromHash()
#16 disk_cache::SimpleBackendImpl::DoomEntries()
#17 disk_cache::SimpleIndex::StartEvictionIfNeeded()
#18 disk_cache::SimpleIndex::UpdateEntrySize()
#19 disk_cache::SimpleEntryImpl::UpdateDataFromEntryStat()
#20 disk_cache::SimpleEntryImpl::CreationOperationComplete()
(namespace elided twice to avoid wrapping).

... which means we end up at the in_results = nullptr line near the bottom of CreationOperationComplete with null `synchronous_entry_`(!) (and a dangling in_results->sync_entry, where one would expect the two to be aliases). I *think* we won't actually deliver a callback from this state since we likely needed to be in optimistic path to got thus far, but I am not certain.

Similarly, when this sort of thing happens from within read/write ops, it could potentially cause callbacks to be delivered in wrong order if the queued op ends up being a stream 0 operation, which can be executed without a round trip to a worker thread.

Change-Id: Iac8058f0d18225677e361c6cdddf92d28fb4833f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5054619
Reviewed-by: Adam Rice <[email protected]>
Reviewed-by: Kenichi Ishibashi <[email protected]>
Commit-Queue: Maks Orlovich <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1248862}
pull bot pushed a commit that referenced this pull request Mar 26, 2024
This reverts commit 6f447d5.

Reason for revert: Crashes on ChromeOS as soon as I touch the
device's touchpad

2024-03-26T00:58:16.588106Z FATAL chrome[5433:5496]: [sequence_checker.cc(21)] Check failed: checker.CalledOnValidSequence(&bound_at). 
#0 0x56f06aa34da2 base::debug::CollectStackTrace()
#1 0x56f06aa19ba2 base::debug::StackTrace::StackTrace()
#2 0x56f06a934073 logging::LogMessage::Flush()
#3 0x56f063de6fcd logging::LogMessage::~LogMessage()
#4 0x56f06a92053c logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage()
#5 0x56f06a9205ae logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage()
#6 0x56f063dc2ba6 logging::CheckError::~CheckError()
#7 0x56f063de9d22 base::ScopedValidateSequenceChecker::ScopedValidateSequenceChecker()
#8 0x56f063de4706 base::ObserverList<>::begin()
#9 0x56f06bfa75eb ui::CursorController::SetCursorLocation()
#10 0x56f0646d9be5 ui::DrmCursor::SetCursorLocationLocked()
#11 0x56f0646da6bf ui::DrmCursor::MoveCursor()
#12 0x56f06bfd76e6 ui::GestureInterpreterLibevdevCros::OnGestureMove()


Original change's description:
> Mark WeakLinkNode sequence checking expensive
>
> This makes for-each-node sequence checking expensive (which seems
> redundant). As a compromise we do non-"expensive" sequence checking in
> ObserverList::begin(), which should provide the same level of protection
> unless iterators are passed between sequences, which would be one heck
> of a thing to try to do.
>
> This accounts for about 60% of sequence checking in a profile I did way
> back. I have not profiled to see how much sequence checking remains with
> the sequence checking moved to begin() nor do I know the average
> ObserverList size. Let's try it out.
>
> In the same profile (though I don't remember what I profiled) sequence
> checking accounted for 1.2% of cycles. Hopefully this explains some of
> the performance gap between a DCHECK and regular Canary build.
>
> Bug: 40241607
> Change-Id: Id80d3363771e05e6f38c1432ae66b4c352acf8b8
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5319909
> Reviewed-by: François Degros <[email protected]>
> Commit-Queue: Peter Boström <[email protected]>
> Reviewed-by: danakj <[email protected]>
> Reviewed-by: Vasiliy Telezhnikov <[email protected]>
> Reviewed-by: Colin Blundell <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1277148}

Bug: 40241607
Change-Id: I8e11a7d796ba10a38453dff336f46e3aba04ab97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5394849
Bot-Commit: Rubber Stamper <[email protected]>
Owners-Override: François Degros <[email protected]>
Commit-Queue: François Degros <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1278133}
pull bot pushed a commit that referenced this pull request Apr 3, 2024
While investigating a black stripe that appears on the right border
of a lacros window while it is been resized horizontally from the
opposite border (left), it was figured that depending on the values
of the window `origin`, `size` and `scale factor`, the black line was
appearing or hidden.
A continuous interactive window resize is the perfect scenario to
replicate the bug intermittently, and give users the impression of
a flashing black line.

As an easy way to illustrate the issue, lets assume a lacros window
with the following bounds in DIPS, `330,0 596x664`, and a device scale
factor of  `1.62574` - these values can replicate the problem of the
vertical stripe appearing even without triggering a window resize.
For instance, this bounds in DIPS becomes `536,0 970x1080` in pixels
using DesktopWindowTreeHostPlatform::ConvertRectToPixels().

1.1) During the window creation, the `ui::Compositor` instance gets
its scale factor and size set in pixels.
It happens when `Compositor::SetScaleAndSize()` is called.
This is the stracktrace:
  ````
  #1 0x592718b9d713 base::debug::StackTrace::StackTrace()
  #2 0x5927205f4655 ui::Compositor::SetScaleAndSize()
  #3 0x5927205eac3e aura::WindowTreeHost::UpdateCompositorScaleAndSize()
  #4 0x5927205ec714 aura::WindowTreeHost::OnHostResizedInPixels()
  #5 0x592721d2dc2e aura::WindowTreeHostPlatform::OnBoundsChanged()
  #6 0x592721d2cc40 views::DesktopWindowTreeHostLacros::OnBoundsChanged()
  #7 0x592721d2e1b9 aura::WindowTreeHostPlatform::OnStateUpdate()
  #8 0x592719b83731 ui::WaylandWindow::MaybeApplyLatestStateRequest()
  #9 0x592719b83074 ui::WaylandWindow::RequestState()
  #10 0x592719b7e189 ui::WaylandWindow::SetWindowScale()
  #11 0x592719b7d985 ui::WaylandWindow::UpdateWindowScale()
  #12 0x592719b789ad ui::WaylandToplevelWindow::UpdateWindowScale()
  #13 0x592719b77f15 ui::WaylandToplevelWindow::Show()
  #14 0x592721d3139d views::DesktopWindowTreeHostPlatform::Show()
  #15 0x592721d18b24 views::DesktopNativeWidgetAura::Show()
  #16 0x592721cd0a7c views::Widget::Show()
  #17 0x592724d06ffb BrowserView::Show()
  (...)
  ````
In practice, `aura::WindowTreeHostPlatform::OnBoundsChanged()`
(frame #4) calls out to `WaylandWindow::GetBoundsInPixels()`,
that translates `330,0 596x664` in DIPS to `536,0 970x1080`
in pixels - see the method below.
Ultimately, only the size is set to the ui::Compositor instance,
ie `970x1080`.

  ````
  void WindowTreeHostPlatform::OnBoundsChanged(const BoundsChange& change) {
    (...)
    float current_scale = compositor()->device_scale_factor();
    float new_scale = ui::GetScaleFactorForNativeView(window());
    auto weak_ref = GetWeakPtr();
    auto new_size = GetBoundsInPixels().size(); <------
  `````

1.2) Meanwhile, `cc::Layer` instances for the window are also being
created. During the layer tree creation, the layers' bounds are all
set in DIPs.
For instance, the root layer is created with an origin of `0,0` and
bounds `596x664`, eg:

  ````
  2024-03-11T18:42:45.387311Z WARNING chrome[29500:29500]: [layer.cc(390)]
  #0 0x59271e998ce2 base::debug::CollectStackTrace()
  #1 0x592718b9d713 base::debug::StackTrace::StackTrace()
  #2 0x592725cc29d7 cc::Layer::SetBounds()
  #3 0x592725e2ee96 ui::Layer::SetBoundsFromAnimation()
  #4 0x5927265c0177 ui::LayerAnimator::SetBounds()
  #5 0x5927205d8fe0 aura::Window::SetBoundsInternal()
  #6 0x5927205d8f67 aura::Window::SetBounds()
  #7 0x5927205ea78e aura::WindowTreeHost::UpdateRootWindowSize()
  #8 0x5927205ea6df aura::WindowTreeHost::InitHost()
  #9 0x592721d30b36 views::DesktopWindowTreeHostPlatform::Init()
  #10 0x592721d16336 views::DesktopNativeWidgetAura::InitNativeWidget()
  #11 0x592725142c44 DesktopBrowserFrameAura::InitNativeWidget()
  #12 0x592721ccdd41 views::Widget::Init()
  #13 0x592724cf68af BrowserFrame::InitBrowserFrame()
  #14 0x592724db9f30 BrowserWindow::CreateBrowserWindow()
  #15 0x592724951ce0 Browser::Browser()
  #16 0x5927249511c6 Browser::Create()
  (...)
  ````
The layers' bounds get translated at places like
`draw_property_utils.cc` `ComputeLocalRectInTargetSpace()`, with
MathUtils::MapXXX() functions.
In practice, `596x664` translates to `968.942x1079.49`, and finally
gets rounded to `969x1080`.
Hence, we have a root ui::Compositor size of 970x1080 and a root
cc:Layer bounds of 969x1080.

Using the visual debugger tool attached to lacros, one can see that
all window-wide tiles's width are 969 [1].
OTOH, with the visual debugger tool attached to ash/chrome, we can
see that the width the the root surface (lacros) is 970 [2].
This 1px different creates a "punch role" effect in the lacros window,
and user sees whatever is underneath it rendered [3]. In the case of
this bug, what the user sees is a trailing 1px wide line part of
the so called "resize shadow".
The user sees it through this unintentionally "punch hole" explained
above.

This CL changes the way PlatformWindowDelegate::State::size_px
variable gets set in WaylandWindow::RequestState(), translating only
its size from DIPs to pixels. This way we match how this variable is
used in ui::Compositor level and cc::Layers et al (tiles, quads,
overlayers, etc).

As a way to illustrate the problem, see video [4]. It forcibly paints
the 1px lacros root layer transparent buffer red with viz_debugger,
so  one can clearly see it "flashing" due to the rounding error
being fixed here.

[1] https://issues.chromium.org/u/0/action/issues/40876438/attachments/54873934
[2] https://issues.chromium.org/u/0/action/issues/40876438/attachments/54878944
[3] https://issues.chromium.org/u/0/action/issues/40876438/attachments/54873933
[4] https://issues.chromium.org/action/issues/40876438/attachments/54936907

Bug: 40876438
Change-Id: Id36476d41e7a2c90f8a44337731a4cfad93e6a13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5384752
Reviewed-by: Maksim Sisov <[email protected]>
Commit-Queue: Antonio Gomes <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1281135}
pull bot pushed a commit that referenced this pull request Apr 3, 2024
This reverts commit fe5ffc2.

Reason for revert: Reland with CursorController changed to use
std::vector too.

Original change's description:
> Revert "Mark WeakLinkNode sequence checking expensive"
>
> This reverts commit 6f447d5.
>
> Reason for revert: Crashes on ChromeOS as soon as I touch the
> device's touchpad
>
> 2024-03-26T00:58:16.588106Z FATAL chrome[5433:5496]: [sequence_checker.cc(21)] Check failed: checker.CalledOnValidSequence(&bound_at).
> #0 0x56f06aa34da2 base::debug::CollectStackTrace()
> #1 0x56f06aa19ba2 base::debug::StackTrace::StackTrace()
> #2 0x56f06a934073 logging::LogMessage::Flush()
> #3 0x56f063de6fcd logging::LogMessage::~LogMessage()
> #4 0x56f06a92053c logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage()
> #5 0x56f06a9205ae logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage()
> #6 0x56f063dc2ba6 logging::CheckError::~CheckError()
> #7 0x56f063de9d22 base::ScopedValidateSequenceChecker::ScopedValidateSequenceChecker()
> #8 0x56f063de4706 base::ObserverList<>::begin()
> #9 0x56f06bfa75eb ui::CursorController::SetCursorLocation()
> #10 0x56f0646d9be5 ui::DrmCursor::SetCursorLocationLocked()
> #11 0x56f0646da6bf ui::DrmCursor::MoveCursor()
> #12 0x56f06bfd76e6 ui::GestureInterpreterLibevdevCros::OnGestureMove()
>
>
> Original change's description:
> > Mark WeakLinkNode sequence checking expensive
> >
> > This makes for-each-node sequence checking expensive (which seems
> > redundant). As a compromise we do non-"expensive" sequence checking in
> > ObserverList::begin(), which should provide the same level of protection
> > unless iterators are passed between sequences, which would be one heck
> > of a thing to try to do.
> >
> > This accounts for about 60% of sequence checking in a profile I did way
> > back. I have not profiled to see how much sequence checking remains with
> > the sequence checking moved to begin() nor do I know the average
> > ObserverList size. Let's try it out.
> >
> > In the same profile (though I don't remember what I profiled) sequence
> > checking accounted for 1.2% of cycles. Hopefully this explains some of
> > the performance gap between a DCHECK and regular Canary build.
> >
> > Bug: 40241607
> > Change-Id: Id80d3363771e05e6f38c1432ae66b4c352acf8b8
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5319909
> > Reviewed-by: François Degros <[email protected]>
> > Commit-Queue: Peter Boström <[email protected]>
> > Reviewed-by: danakj <[email protected]>
> > Reviewed-by: Vasiliy Telezhnikov <[email protected]>
> > Reviewed-by: Colin Blundell <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1277148}
>
> Bug: 40241607
> Change-Id: I8e11a7d796ba10a38453dff336f46e3aba04ab97
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5394849
> Bot-Commit: Rubber Stamper <[email protected]>
> Owners-Override: François Degros <[email protected]>
> Commit-Queue: François Degros <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1278133}

Bug: 40241607
Change-Id: I7aedf2194f8cc17a56ffa79c1824e33a7072c1f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5406313
Reviewed-by: danakj <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Reviewed-by: Michael Spang <[email protected]>
Reviewed-by: Vasiliy Telezhnikov <[email protected]>
Reviewed-by: François Degros <[email protected]>
Commit-Queue: Peter Boström <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1281466}
pull bot pushed a commit that referenced this pull request Apr 10, 2024
This is part of the work to get cast on starboard building out of
chromium. See go/moving-cwr-to-chromium for more information on the
high-level goal.

This is the crash that occurs without this CL:
FATAL:event_factory_evdev.cc(247)] Check failed: user_input_task_runner_.
#0 0x5643c4c23ed2 base::debug::CollectStackTrace() [../../base/debug/stack_trace_posix.cc:1039:7]
#1 0x5643c4c0dc62 base::debug::StackTrace::StackTrace() [../../base/debug/stack_trace.cc:229:20]
#2 0x5643c4b15369 logging::LogMessage::Flush() [../../base/logging.cc:703:29]
#3 0x5643c4b1524d logging::LogMessage::~LogMessage() [../../base/logging.cc:694:3]
#4 0x5643c4afb6bf logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage() [../../base/check.cc:166:3]
#5 0x5643c4afb71e logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage() [../../base/check.cc:161:32]
#6 0x5643c4afb173 logging::CheckError::~CheckError() [../../third_party/libc++/src/include/__memory/unique_ptr.h:67:5]
#7 0x5643c611fca5 ui::EventFactoryEvdev::Init() [../../ui/events/ozone/evdev/event_factory_evdev.cc:247:3]
#8 0x5643c5f275f7 ui::PlatformEventSource::AddPlatformEventDispatcher() [../../ui/events/platform/platform_event_source.cc:54:3]
#9 0x5643c11edb81 ui::(anonymous namespace)::OzonePlatformCast::CreatePlatformWindow() [../../third_party/libc++/src/include/__memory/unique_ptr.h:620:30]
#10 0x5643c67cf017 aura::WindowTreeHostPlatform::CreatePlatformWindow() [../../ui/aura/window_tree_host_platform.cc:222:44]
#11 0x5643c67cef76 aura::WindowTreeHostPlatform::CreateAndSetPlatformWindow() [../../ui/aura/window_tree_host_platform.cc:93:22]
#12 0x5643c67cef2a aura::WindowTreeHostPlatform::WindowTreeHostPlatform() [../../ui/aura/window_tree_host_platform.cc:71:3]
#13 0x5643c24eb8d1 chromecast::CastWindowTreeHostAura::CastWindowTreeHostAura() [../../chromecast/graphics/cast_window_tree_host_aura.cc:17:7]
#14 0x5643c24e937e chromecast::CastWindowManagerAura::Setup() [../../third_party/libc++/src/include/__memory/unique_ptr.h:620:30]
#15 0x5643c24a324d chromecast::shell::CastBrowserMainParts::PreMainMessageLoopRun() [../../chromecast/browser/cast_browser_main_parts.cc:627:20]

Bug: b/333571227
Change-Id: I7fd21eec0708282fc14d1b6dd578032ba06187c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5439606
Reviewed-by: Luke Halliwell <[email protected]>
Reviewed-by: Yuchen Liu <[email protected]>
Commit-Queue: Antonio Rivera <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1285202}
pull bot pushed a commit that referenced this pull request Apr 17, 2024
This reverts commit 81b6e3d.

Reason for revert: Breaks AutotestPrivateApiTest.AutotestPrivate on linux-chromeos-rel

https://ci.chromium.org/ui/p/chromium/builders/luci.chromium.ci/linux-chromeos-rel
Sample failure: https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-rel/75905/overview

I think this is the relevant part of the stack trace:

../../content/public/test/no_renderer_crashes_assertion.cc:102: Failure
Failed
Unexpected termination of a renderer process; status: 3, exit_code: 139
Stack trace:
#0 0x563e8b77c0da content::NoRendererCrashesAssertion::RenderProcessExited()
#1 0x563e8967d8c4 content::RenderProcessHostImpl::ProcessDied()
#2 0x563e8967d72c content::RenderProcessHostImpl::OnChannelError()
#3 0x563e8ae3ecb5 base::TaskAnnotator::RunTaskImpl()
#4 0x563e8ae583dd base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl()
#5 0x563e8ae57e60 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()
#6 0x563e8ae58845 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()
#7 0x563e8aec2fef base::MessagePumpEpoll::Run()
#8 0x563e8ae58bb2 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run()
#9 0x563e8ae1e7fd base::RunLoop::Run()
#10 0x563e91a0c6c9 extensions::ResultCatcher::GetNextResult()
#11 0x563e8ad7fcf6 extensions::ExtensionApiTest::RunExtensionTest()
#12 0x563e8ad7f999 extensions::ExtensionApiTest::RunExtensionTest()
#13 0x563e854402ed extensions::AutotestPrivateApiTest::RunAutotestPrivateExtensionTest()

Original change's description:
> Get WrapperTypeInfo via ScriptWrappable
>
> as opposed to using a dedicated internal field for that.
>
> Bug: 328117814
> Change-Id: I01f9aff3ad8a41fafbd2655d23f076a0f76fdc57
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5455405
> Reviewed-by: Nate Chapin <[email protected]>
> Commit-Queue: Andrey Kosyakov <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1288405}

Bug: 328117814
Change-Id: Id0ad5b6bcab7a99cf31d551df00928708dd93465
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5459075
Reviewed-by: Jiacheng Guo <[email protected]>
Auto-Submit: Timothy Loh <[email protected]>
Commit-Queue: Jiacheng Guo <[email protected]>
Owners-Override: Timothy Loh <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1288546}
pull bot pushed a commit that referenced this pull request Apr 19, 2024
This reverts commit c07cbfe.

Reason for revert: relanding with tests and fixes

Original change's description:
> Revert "Get WrapperTypeInfo via ScriptWrappable"
>
> This reverts commit 81b6e3d.
>
> Reason for revert: Breaks AutotestPrivateApiTest.AutotestPrivate on linux-chromeos-rel
>
> https://ci.chromium.org/ui/p/chromium/builders/luci.chromium.ci/linux-chromeos-rel
> Sample failure: https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-rel/75905/overview
>
> I think this is the relevant part of the stack trace:
>
> ../../content/public/test/no_renderer_crashes_assertion.cc:102: Failure
> Failed
> Unexpected termination of a renderer process; status: 3, exit_code: 139
> Stack trace:
> #0 0x563e8b77c0da content::NoRendererCrashesAssertion::RenderProcessExited()
> #1 0x563e8967d8c4 content::RenderProcessHostImpl::ProcessDied()
> #2 0x563e8967d72c content::RenderProcessHostImpl::OnChannelError()
> #3 0x563e8ae3ecb5 base::TaskAnnotator::RunTaskImpl()
> #4 0x563e8ae583dd base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl()
> #5 0x563e8ae57e60 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()
> #6 0x563e8ae58845 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()
> #7 0x563e8aec2fef base::MessagePumpEpoll::Run()
> #8 0x563e8ae58bb2 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run()
> #9 0x563e8ae1e7fd base::RunLoop::Run()
> #10 0x563e91a0c6c9 extensions::ResultCatcher::GetNextResult()
> #11 0x563e8ad7fcf6 extensions::ExtensionApiTest::RunExtensionTest()
> #12 0x563e8ad7f999 extensions::ExtensionApiTest::RunExtensionTest()
> #13 0x563e854402ed extensions::AutotestPrivateApiTest::RunAutotestPrivateExtensionTest()
>
> Original change's description:
> > Get WrapperTypeInfo via ScriptWrappable
> >
> > as opposed to using a dedicated internal field for that.
> >
> > Bug: 328117814
> > Change-Id: I01f9aff3ad8a41fafbd2655d23f076a0f76fdc57
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5455405
> > Reviewed-by: Nate Chapin <[email protected]>
> > Commit-Queue: Andrey Kosyakov <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1288405}
>
> Bug: 328117814
> Change-Id: Id0ad5b6bcab7a99cf31d551df00928708dd93465
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5459075
> Reviewed-by: Jiacheng Guo <[email protected]>
> Auto-Submit: Timothy Loh <[email protected]>
> Commit-Queue: Jiacheng Guo <[email protected]>
> Owners-Override: Timothy Loh <[email protected]>
> Bot-Commit: Rubber Stamper <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1288546}

Bug: 328117814
Change-Id: Icc69d23b24b71adc9332e3a01c91f336506c035f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5466905
Commit-Queue: Andrey Kosyakov <[email protected]>
Reviewed-by: Michael Lippautz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1290020}
pull bot pushed a commit that referenced this pull request Apr 20, 2024
Example builder failure: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/119860/overview.

crash log for renderer (pid <unknown>):
STDOUT: <empty>
STDERR: [840814:1:0419/092311.735189:FATAL:ax_object.cc(3129)] Check failed: !IsDetached().
STDERR: #0 0x7f57ed36492c base::debug::CollectStackTrace() [../../base/debug/stack_trace_posix.cc:1039:7]
STDERR: #1 0x7f57ed316545 base::debug::StackTrace::StackTrace() [../../base/debug/stack_trace.cc:236:20]
STDERR: #2 0x7f57ed3164d5 base::debug::StackTrace::StackTrace() [../../base/debug/stack_trace.cc:231:28]
STDERR: #3 0x7f57ed0349bf logging::LogMessage::Flush() [../../base/logging.cc:710:29]
STDERR: #4 0x7f57ed0348e7 logging::LogMessage::~LogMessage() [../../base/logging.cc:698:3]
STDERR: #5 0x7f57ecfdbfc5 logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage() [../../base/check.cc:166:3]
STDERR: #6 0x7f57ecfdbfe9 logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage() [../../base/check.cc:161:32]
STDERR: #7 0x7f57ecfdcdcc std::__Cr::default_delete<>::operator()() [../../third_party/libc++/src/include/__memory/unique_ptr.h:67:5]
STDERR: #8 0x7f57ecfdc32a std::__Cr::unique_ptr<>::reset() [../../third_party/libc++/src/include/__memory/unique_ptr.h:278:7]
STDERR: #9 0x7f57ecfdb90d logging::CheckError::~CheckError() [../../base/check.cc:349:16]
STDERR: #10 0x7f57bb3ae68b blink::AXObject::IsIncludedInTree() [../../third_party/blink/renderer/modules/accessibility/ax_object.cc:3129:3]
STDERR: #11 0x7f57bb3a43a4 blink::AXObject::ToString() [../../third_party/blink/renderer/modules/accessibility/ax_object.cc:8108:30]
STDERR: #12 0x7f57bb3a2a52 blink::AXObject::Detach() [../../third_party/blink/renderer/modules/accessibility/ax_object.cc:782:35]
STDERR: #13 0x7f57bb3556e6 blink::AXNodeObject::Detach() [../../third_party/blink/renderer/modules/accessibility/ax_node_object.cc:2377:13]
STDERR: #14 0x7f57bb3ec319 blink::AXObjectCacheImpl::Remove()
....

Bug: 40933623
Change-Id: Ic447ade12398f7666c4f6f4def61c2e3723feb43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5466669
Bot-Commit: Rubber Stamper <[email protected]>
Reviewed-by: Liviu Tinta <[email protected]>
Auto-Submit: Liviu Tinta <[email protected]>
Owners-Override: Liviu Tinta <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1290248}
pull bot pushed a commit that referenced this pull request Apr 23, 2024
This reverts commit 6578c4f.

Reason for revert: Offending DCHECK was fixed and removed with
https://crrev.com/c/5464203. Tests can probably be re-enabled.

Original change's description:
> [Gardener] Disable tests failing !IsDetached check
>
> Example builder failure: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/119860/overview.
>
> crash log for renderer (pid <unknown>):
> STDOUT: <empty>
> STDERR: [840814:1:0419/092311.735189:FATAL:ax_object.cc(3129)] Check failed: !IsDetached().
> STDERR: #0 0x7f57ed36492c base::debug::CollectStackTrace() [../../base/debug/stack_trace_posix.cc:1039:7]
> STDERR: #1 0x7f57ed316545 base::debug::StackTrace::StackTrace() [../../base/debug/stack_trace.cc:236:20]
> STDERR: #2 0x7f57ed3164d5 base::debug::StackTrace::StackTrace() [../../base/debug/stack_trace.cc:231:28]
> STDERR: #3 0x7f57ed0349bf logging::LogMessage::Flush() [../../base/logging.cc:710:29]
> STDERR: #4 0x7f57ed0348e7 logging::LogMessage::~LogMessage() [../../base/logging.cc:698:3]
> STDERR: #5 0x7f57ecfdbfc5 logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage() [../../base/check.cc:166:3]
> STDERR: #6 0x7f57ecfdbfe9 logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage() [../../base/check.cc:161:32]
> STDERR: #7 0x7f57ecfdcdcc std::__Cr::default_delete<>::operator()() [../../third_party/libc++/src/include/__memory/unique_ptr.h:67:5]
> STDERR: #8 0x7f57ecfdc32a std::__Cr::unique_ptr<>::reset() [../../third_party/libc++/src/include/__memory/unique_ptr.h:278:7]
> STDERR: #9 0x7f57ecfdb90d logging::CheckError::~CheckError() [../../base/check.cc:349:16]
> STDERR: #10 0x7f57bb3ae68b blink::AXObject::IsIncludedInTree() [../../third_party/blink/renderer/modules/accessibility/ax_object.cc:3129:3]
> STDERR: #11 0x7f57bb3a43a4 blink::AXObject::ToString() [../../third_party/blink/renderer/modules/accessibility/ax_object.cc:8108:30]
> STDERR: #12 0x7f57bb3a2a52 blink::AXObject::Detach() [../../third_party/blink/renderer/modules/accessibility/ax_object.cc:782:35]
> STDERR: #13 0x7f57bb3556e6 blink::AXNodeObject::Detach() [../../third_party/blink/renderer/modules/accessibility/ax_node_object.cc:2377:13]
> STDERR: #14 0x7f57bb3ec319 blink::AXObjectCacheImpl::Remove()
> ....
>
> Bug: 40933623
> Change-Id: Ic447ade12398f7666c4f6f4def61c2e3723feb43
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5466669
> Bot-Commit: Rubber Stamper <[email protected]>
> Reviewed-by: Liviu Tinta <[email protected]>
> Auto-Submit: Liviu Tinta <[email protected]>
> Owners-Override: Liviu Tinta <[email protected]>
> Commit-Queue: Rubber Stamper <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1290248}

Bug: 40933623
Change-Id: Ib77c888c8c8a1209a18ddd93f7c07d17c50a04a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5465688
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Simon Zünd <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1290555}
pull bot pushed a commit that referenced this pull request May 21, 2024
Attempting to initialize the GPU triggers MSan failures in GL with eager
checks enabled in MSan:

Uninitialized bytes in strlen at offset 0 inside [0x70200013dec0, 30)
==589==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7fffeeba96de in glLabelObjectEXT (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x4f6de)
    #1 0x7fffeeba9b10 in glLabelObjectEXT (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x4fb10)
    #2 0x7fffeeb879a3  (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x2d9a3)
    #3 0x7fffeeb894c0  (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x2f4c0)
    #4 0x7fffeeb8e400  (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x34400)
    #5 0x7fffeeb8f384  (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x35384)
    #6 0x7fffeeb8bd9a  (/lib/x86_64-linux-gnu/libGLX_mesa.so.0+0x31d9a)
    #7 0x7fffecceb484 in queryExtensionsString third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp:354:12
    #8 0x7fffecceb484 in rx::FunctionsGLX::initialize(_XDisplay*, int, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>*) third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp:223:30
    #9 0x7fffeccdada2 in rx::DisplayGLX::initialize(egl::Display*) third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:114:15
    #10 0x7fffec70f649 in egl::Display::initialize() third_party/angle/src/libANGLE/Display.cpp:1082:36
    #11 0x7fffec0bed17 in egl::Initialize(egl::Thread*, egl::Display*, int*, int*) third_party/angle/src/libGLESv2/egl_stubs.cpp:514:5
    #12 0x7fffec0c6319 in EGL_Initialize third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp:571:27
    #13 0x7fffefc4000d in eglInitialize third_party/angle/src/libEGL/libEGL_autogen.cpp:177:12
    #14 0x5555868ec92a in gl::GLDisplayEGL::InitializeDisplay(bool, std::__Cr::vector<gl::DisplayType, std::__Cr::allocator<gl::DisplayType>>, gl::EGLDisplayPlatform, gl::GLDisplayEGL*) ui/gl/gl_display.cc:769:10
    #15 0x5555868eb310 in gl::GLDisplayEGL::Initialize(bool, std::__Cr::vector<gl::DisplayType, std::__Cr::allocator<gl::DisplayType>>, gl::EGLDisplayPlatform) ui/gl/gl_display.cc:660:8
    #16 0x55556c6f1957 in ui::GLOzoneEGL::InitializeGLOneOffPlatform(bool, std::__Cr::vector<gl::DisplayType, std::__Cr::allocator<gl::DisplayType>>, gl::GpuPreference) ui/ozone/common/gl_ozone_egl.cc:25:17
    #17 0x55558b1a8999 in gl::init::InitializeGLOneOffPlatform(gl::GpuPreference) ui/gl/init/gl_initializer_ozone.cc:27:26
    #18 0x55558b1a6978 in gl::init::InitializeGLOneOffPlatformImplementation(bool, bool, bool, gl::GpuPreference) ui/gl/init/gl_factory.cc:211:24
    #19 0x55558b1a6208 in gl::init::(anonymous namespace)::InitializeGLOneOffPlatformHelper(bool, gl::GpuPreference) ui/gl/init/gl_factory.cc:135:10
    #20 0x55558b1a662d in gl::init::InitializeGLNoExtensionsOneOff(bool, gl::GpuPreference) ui/gl/init/gl_factory.cc:166:10
    #21 0x55558b227379 in gpu::GpuInit::InitializeAndStartSandbox(base::CommandLine*, gpu::GpuPreferences const&) gpu/ipc/service/gpu_init.cc:495:18
    #22 0x55559ab41ce4 in content::GpuMain(content::MainFunctionParams) content/gpu/gpu_main.cc:358:39
    #23 0x55557b5888da in content::RunZygote(content::ContentMainDelegate*) content/app/content_main_runner_impl.cc:685:14
    #24 0x55557b58abad in content::RunOtherNamedProcessTypeMain(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, content::MainFunctionParams, content::ContentMainDelegate*) content/app/content_main_runner_impl.cc:789:12
    #25 0x55557b58e4fe in content::ContentMainRunnerImpl::Run() content/app/content_main_runner_impl.cc:1156:10
    #26 0x55557b585aaf in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) content/app/content_main.cc:332:36
    #27 0x55557b58644a in content::ContentMain(content::ContentMainParams) content/app/content_main.cc:345:10
    #28 0x555580df9c37 in content::LaunchTestsInternal(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:385:12
    #29 0x555580dfab58 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:504:10
    #30 0x555582b8afec in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) chrome/test/base/chrome_test_launcher.cc:392:10
    #31 0x55557d422a0e in main chrome/test/base/browser_tests_main.cc:60:10
    #32 0x7ffff48456c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #33 0x7ffff4845784 in __libc_start_main csu/../csu/libc-start.c:360:3
    #34 0x55555e647029 in _start (/usr/local/google/home/dcheng/src/chrome/src/out/msan/browser_tests+0x90f3029) (BuildId: 6cbc295b16ac1107)

  Uninitialized value was created by a heap allocation
    #0 0x55555e675a22 in malloc /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/msan/msan_interceptors.cpp:1021:3
    #1 0x7ffff489b087 in __vasprintf_internal libio/vasprintf.c:116:16
    #2 0x4ae8d349882b18ff  (<unknown module>)

Bug: 40240570
Change-Id: If59faa297e214b7219ebb4c5c9572b44a33ee070
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5548826
Reviewed-by: Elad Alon <[email protected]>
Commit-Queue: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1303583}
pull bot pushed a commit that referenced this pull request Jun 29, 2024
Destroying `bounds_animator_` can reentrantly call back into
`ShelfView`; make sure any fields that are reentrantly used are not
destroyed before `bounds_animator_`.

Example crash:
==159708==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x55558fba1df1 in ash::ShelfView::ViewHierarchyChanged(views::ViewHierarchyChangedDetails const&) ./../../ash/shelf/shelf_view.cc:715:9
    #1 0x5555874f2dd5 in views::View::ViewHierarchyChangedImpl(views::ViewHierarchyChangedDetails const&) ./../../ui/views/view.cc:3172:3
    #2 0x5555874f4e08 in views::View::PropagateRemoveNotifications(views::View*, views::View*, bool) ./../../ui/views/view.cc:3121:8
    #3 0x5555874f4d25 in views::View::PropagateRemoveNotifications(views::View*, views::View*, bool) ./../../ui/views/view.cc:3110:14
    #4 0x5555874d1492 in views::View::DoRemoveChildView(views::View*, bool, bool, views::View*) ./../../ui/views/view.cc:3083:9
    #5 0x5555874cdca0 in RemoveChildView ./../../ui/views/view.cc:364:3
    #6 0x5555874cdca0 in views::View::~View() ./../../ui/views/view.cc:255:14
    #7 0x5555872f3f8c in views::Button::~Button() ./../../ui/views/controls/button/button.cc:196:17
    #8 0x55558fb46817 in ash::ShelfButton::~ShelfButton() ./../../ash/shelf/shelf_button.cc:39:27
    #9 0x55558fb350ca in ash::ShelfAppButton::~ShelfAppButton() ./../../ash/shelf/shelf_app_button.cc:513:1
    #10 0x55558fb3521b in ash::ShelfAppButton::~ShelfAppButton() ./../../ash/shelf/shelf_app_button.cc:511:35
    #11 0x55558fbbb73a in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:67:5
    #12 0x55558fbbb73a in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:278:7
    #13 0x55558fbbb73a in ~unique_ptr ./../../third_party/libc++/src/include/__memory/unique_ptr.h:248:71
    #14 0x55558fbbb73a in ash::ShelfView::FadeOutAnimationDelegate::~FadeOutAnimationDelegate() ./../../ash/shelf/shelf_view.cc:293:48
    #15 0x55558fbbb795 in ash::ShelfView::FadeOutAnimationDelegate::~FadeOutAnimationDelegate() ./../../ash/shelf/shelf_view.cc:293:48
    #16 0x55558728bb8a in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:67:5
    #17 0x55558728bb8a in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:278:7
    #18 0x55558728bb8a in views::BoundsAnimator::CleanupData(bool, views::BoundsAnimator::Data*) ./../../ui/views/animation/bounds_animator.cc:226:18
    #19 0x55558728b7ef in views::BoundsAnimator::~BoundsAnimator() ./../../ui/views/animation/bounds_animator.cc:41:5
    #20 0x55558728be9f in views::BoundsAnimator::~BoundsAnimator() ./../../ui/views/animation/bounds_animator.cc:33:35
    #21 0x55558fb9dbda in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:67:5
    #22 0x55558fb9dbda in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:278:7
    #23 0x55558fb9dbda in ~unique_ptr ./../../third_party/libc++/src/include/__memory/unique_ptr.h:248:71
    #24 0x55558fb9dbda in ash::ShelfView::~ShelfView() ./../../ash/shelf/shelf_view.cc:386:1
    #25 0x55558fb9debf in ash::ShelfView::~ShelfView() ./../../ash/shelf/shelf_view.cc:381:25
    #26 0x5555874cdf10 in views::View::~View() ./../../ui/views/view.cc:289:9
    #27 0x55558fb4b99d in ash::ShelfContainerView::~ShelfContainerView() ./../../ash/shelf/shelf_container_view.cc:16:41
    #28 0x55558fb22f1b in ash::ScrollableShelfContainerView::~ScrollableShelfContainerView() ./../../ash/shelf/scrollable_shelf_view.cc:199:52
    #29 0x55558fb22f39 in ash::ScrollableShelfContainerView::~ScrollableShelfContainerView() ./../../ash/shelf/scrollable_shelf_view.cc:199:52

  Member fields were destroyed
    #0 0x55556236a67d in __sanitizer_dtor_callback_fields /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/msan/msan_interceptors.cpp:1048:5
    #1 0x55558fb9da03 in ~ShelfView ./../../ash/shelf/shelf_view.h:792:27
    #2 0x55558fb9da03 in ash::ShelfView::~ShelfView() ./../../ash/shelf/shelf_view.cc:386:1
    #3 0x55558fb9debf in ash::ShelfView::~ShelfView() ./../../ash/shelf/shelf_view.cc:381:25
    #4 0x5555874cdf10 in views::View::~View() ./../../ui/views/view.cc:289:9
    #5 0x55558fb4b99d in ash::ShelfContainerView::~ShelfContainerView() ./../../ash/shelf/shelf_container_view.cc:16:41

Bug: 40222690
Change-Id: I400b7988ab974398d50298235a177a9d97d81f83
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5659322
Commit-Queue: Daniel Cheng <[email protected]>
Reviewed-by: Mike Wasserman <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1321111}
pull bot pushed a commit that referenced this pull request Oct 26, 2024
This reverts commit ecb74d5.

Reason for revert:

A series of bots such as "Linux Tests (dbg)(1)", "Linux ASan LSan Tests (1)" started failing consistently in browser_tests for these two tests:
PreviewBrowserTest.ErrorOnNonHttpsUrl
PreviewBrowserTest.ErrorOnRedirectionToNonHttpsUrl
after this change was submitted.

More complete bot list is below [1].

Both of those tests are both prerender-related.  This is the only prerender-related change on the blamelist.

The former somtimes fails with
vector.h(1305): Check failed: i < size() (0 vs. 0)
See full stack trace below [2].

The latter sometimes fails with
preview_manager.cc(73): Check failed: tab_.
See full stack trace below [3].

I have also seen the former fail with the "Check failed: tab_." error message.

And on some bots I have also seen a full-blown crash (unexpected abort).

Also, on some both I have seen other PreviewBrowserTest failures at this time, such as PreviewBrowserTest.MojoCapabilityControl, with similar errors.


[1] bots that fail:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ASan%20LSan%20Tests%20(1)/128871/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20(1)/61153/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/47171/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/51450/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/122977/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-dbg/37765/blamelist

[2]
PreviewBrowserTest.ErrorOnNonHttpsUrl
[ RUN      ] PreviewBrowserTest.ErrorOnNonHttpsUrl
[292860:292860:1025/041435.600171:WARNING:field_trial_util.cc(106)] Field trial config study skipped: LinkPreview.EnabledAltClick (some of its features are already overridden)
[292860:292860:1025/041435.613074:WARNING:field_trial_util.cc(106)] Field trial config study skipped: PreconnectToSearchDesktop.EnabledWithStartupDelayForegroundOnly (some of its features are already overridden)
[292947:292947:1025/041436.521543:WARNING:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
[292947:292947:1025/041436.577861:WARNING:sandbox_linux.cc(430)] InitializeSandbox() called with multiple threads in process gpu-process.
[292947:292947:1025/041436.602554:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
[292948:292979:1025/041438.220989:WARNING:simple_synchronous_entry.cc(1449)] Could not open platform files for entry.
[292860:292860:1025/041439.058422:WARNING:idle_linux.cc(110)] None of the known D-Bus ScreenSaver services could be used.
[292860:293018:1025/041439.668033:WARNING:embedded_test_server.cc(757)] Request not handled. Returning 404: /favicon.ico
[293019:293019:1025/041440.636001:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
[293019:293019:1025/041440.796426:FATAL:vector.h(1305)] Check failed: i < size() (0 vs. 0)
    #0 0x63a93d38d586 in ___interceptor_backtrace /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4441:13
    #1 0x63a95f5dc688 in base::debug::CollectStackTrace(base::span<void const*, 18446744073709551615ul, void const**>) ./../../base/debug/stack_trace_posix.cc:1047:7
    #2 0x63a95f593489 in base::debug::StackTrace::StackTrace(unsigned long) ./../../base/debug/stack_trace.cc:245:20
    #3 0x63a95f253ece in logging::LogMessage::Flush() ./../../base/logging.cc:725:29
    #4 0x63a95f25396d in logging::LogMessage::~LogMessage() ./../../base/logging.cc:713:3
    #5 0x63a95f20756b in ~CheckLogMessage ./../../base/check.cc:193:3
    #6 0x63a95f20756b in logging::(anonymous namespace)::CheckLogMessage::~CheckLogMessage() ./../../base/check.cc:190:31
    #7 0x63a95f206f30 in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:75:5
    #8 0x63a95f206f30 in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:297:7
    #9 0x63a95f206f30 in logging::NotReachedError::~NotReachedError() ./../../base/check.cc:355:16
    #10 0x63a975d348af in WTF::Vector<blink::PaintChunk, 0u, blink::HeapAllocator>::at(unsigned int) const ./../../third_party/blink/renderer/platform/wtf/vector.h:1305:5
    #11 0x63a975d57f4b in operator[] ./../../third_party/blink/renderer/platform/wtf/vector.h:1310:52
    #12 0x63a975d57f4b in blink::PaintChunkSubset::operator[](unsigned int) const ./../../third_party/blink/renderer/platform/graphics/paint/paint_chunk_subset.h:108:12
    #13 0x63a975d9700d in FirstPaintChunk ./../../third_party/blink/renderer/platform/graphics/compositing/pending_layer.cc:183:10
    #14 0x63a975d9700d in blink::PendingLayer::Matches(blink::PendingLayer const&) const ./../../third_party/blink/renderer/platform/graphics/compositing/pending_layer.cc:196:54
    #15 0x63a975d23989 in Find ./../../third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc:73:21
    #16 0x63a975d23989 in blink::PaintArtifactCompositor::Update(blink::PaintArtifact const&, blink::PaintArtifactCompositor::ViewportProperties const&, blink::HeapVector<cppgc::internal::BasicMember<blink::TransformPaintPropertyNode const, cppgc::internal::StrongMemberTag, cppgc::internal::DijkstraWriteBarrierPolicy, cppgc::internal::DisabledCheckingPolicy, cppgc::internal::CompressedPointer>, 32u> const&, WTF::Vector<std::__Cr::unique_ptr<cc::ViewTransitionRequest, std::__Cr::default_delete<cc::ViewTransitionRequest>>, 0u, WTF::PartitionAllocator>) ./../../third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc:1006:35
    #17 0x63a9711e76ef in blink::LocalFrameView::PushPaintArtifactToCompositor(bool) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:3017:31
    #18 0x63a9711de07f in blink::LocalFrameView::RunPaintLifecyclePhase(blink::PaintBenchmarkMode) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:2677:5
    #19 0x63a9711d825b in blink::LocalFrameView::UpdateLifecyclePhasesInternal(blink::DocumentLifecycle::LifecycleState) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:2377:3
    #20 0x63a9711cfedd in blink::LocalFrameView::UpdateLifecyclePhases(blink::DocumentLifecycle::LifecycleState, blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:2181:3
    #21 0x63a9711ced65 in blink::LocalFrameView::UpdateAllLifecyclePhases(blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:1908:54
    #22 0x63a973c8b458 in blink::PageAnimator::UpdateAllLifecyclePhases(blink::LocalFrame&, blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/page/page_animator.cc:397:9
    #23 0x63a97146de8d in blink::WebFrameWidgetImpl::UpdateLifecycle(blink::WebLifecycleUpdate, blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/frame/web_frame_widget_impl.cc:1663:14
    #24 0x63a9761f2ce6 in UpdateVisualState ./../../third_party/blink/renderer/platform/widget/widget_base.cc:1027:12
    #25 0x63a9761f2ce6 in non-virtual thunk to blink::WidgetBase::UpdateVisualState() ./../../third_party/blink/renderer/platform/widget/widget_base.cc:0:0
    #26 0x63a9685d7f9e in cc::LayerTreeHost::RequestMainFrameUpdate(bool) ./../../cc/trees/layer_tree_host.cc:386:12
    #27 0x63a968929d27 in cc::ProxyMain::BeginMainFrame(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>) ./../../cc/trees/proxy_main.cc:296:21
    #28 0x63a96895daca in Invoke<void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> >), const base::WeakPtr<cc::ProxyMain> &, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> > > ./../../base/functional/bind_internal.h:738:12
    #29 0x63a96895daca in MakeItSo<void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> >), std::__Cr::tuple<base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> > > > ./../../base/functional/bind_internal.h:954:5
    #30 0x63a96895daca in void base::internal::Invoker<base::internal::FunctorTraits<void (cc::ProxyMain::*&&)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), base::WeakPtr<cc::ProxyMain>&&, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>&&>, base::internal::BindState<true, true, false, void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>>, void ()>::RunImpl<void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), std::__Cr::tuple<base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>>, 0ul, 1ul>(void (cc::ProxyMain::*&&)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), std::__Cr::tuple<base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>>&&, std::__Cr::integer_sequence<unsigned long, 0ul, 1ul>) ./../../base/functional/bind_internal.h:1067:14
    #31 0x63a93d44d4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #32 0x63a95f3ccd8c in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ./../../base/task/common/task_annotator.cc:202:34
    #33 0x63a95f473609 in RunTask<(lambda at ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:473:11)> ./../../base/task/common/task_annotator.h:98:5
    #34 0x63a95f473609 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:471:23
    #35 0x63a95f4718ba in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:332:40
    #36 0x63a95f474b5b in non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
    #37 0x63a95f28090b in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_default.cc:40:55
    #38 0x63a95f475cb8 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:641:12
    #39 0x63a95f34b020 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:133:14
    #40 0x63a97f98da9d in content::RendererMain(content::MainFunctionParams) ./../../content/renderer/renderer_main.cc:361:16
    #41 0x63a95c23b8f7 in content::RunZygote(content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:700:14
    #42 0x63a95c23cc43 in content::RunOtherNamedProcessTypeMain(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, content::MainFunctionParams, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:804:12
    #43 0x63a95c23fa5f in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:1164:10
    #44 0x63a95c2397f3 in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ./../../content/app/content_main.cc:356:36
    #45 0x63a95c23a05c in content::ContentMain(content::ContentMainParams) ./../../content/app/content_main.cc:369:10
    #46 0x63a9625187d6 in content::LaunchTestsInternal(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:385:12
    #47 0x63a962519512 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:504:10
    #48 0x63a96dc8f449 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:338:10
    #49 0x63a95ef8f627 in main ./../../chrome/test/base/browser_tests_main.cc:60:10
    #50 0x780e7da29d90 in __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #51 0x780e7da29e40 in __libc_start_main ./csu/../csu/libc-start.c:392:3
    #52 0x63a93d34702a in _start ??:0:0
Task trace:
    #0 0x63a9689511e6 in cc::ProxyImpl::ScheduledActionSendBeginMainFrame(viz::BeginFrameArgs const&) ./../../cc/trees/proxy_impl.cc:760:7
    #1 0x63a96892e967 in cc::ProxyMain::SendCommitRequestToImplThreadIfNeeded(cc::ProxyMain::CommitPipelineStage) ./../../cc/trees/proxy_main.cc:878:7
    #2 0x63a976caa6c1 in blink::HTMLDocumentParser::SchedulePumpTokenizer(bool) ./../../third_party/blink/renderer/core/html/parser/html_document_parser.cc:890:7
    #3 0x63a976caa6c1 in blink::HTMLDocumentParser::SchedulePumpTokenizer(bool) ./../../third_party/blink/renderer/core/html/parser/html_document_parser.cc:890:7
    #4 0x63a976caa6c1 in blink::HTMLDocumentParser::SchedulePumpTokenizer(bool) ./../../third_party/blink/renderer/core/html/parser/html_document_parser.cc:890:7
Task trace buffer limit hit, update PendingTask::kTaskBacktraceLength to increase.
Crash keys:
... [omitted rest]

[3] PreviewBrowserTest.ErrorOnRedirectionToNonHttpsUrl stack trace:
[ RUN      ] PreviewBrowserTest.ErrorOnRedirectionToNonHttpsUrl
[444109:444109:1025/041553.399357:WARNING:field_trial_util.cc(106)] Field trial config study skipped: LinkPreview.EnabledAltClick (some of its features are already overridden)
[444109:444109:1025/041553.404344:WARNING:field_trial_util.cc(106)] Field trial config study skipped: PreconnectToSearchDesktop.EnabledWithStartupDelayForegroundOnly (some of its features are already overridden)
[444182:444182:1025/041554.079734:WARNING:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
[444182:444182:1025/041554.104499:WARNING:sandbox_linux.cc(430)] InitializeSandbox() called with multiple threads in process gpu-process.
[444182:444182:1025/041554.121502:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
[444183:444252:1025/041556.053677:WARNING:simple_synchronous_entry.cc(1449)] Could not open platform files for entry.
[444109:444109:1025/041557.583553:WARNING:idle_linux.cc(110)] None of the known D-Bus ScreenSaver services could be used.
[444109:444362:1025/041558.554846:WARNING:embedded_test_server.cc(757)] Request not handled. Returning 404: /favicon.ico
[444383:444383:1025/041559.563402:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
[444383:444383:1025/041559.590330:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
[444383:444383:1025/041559.591717:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
chrome/browser/preloading/preview/preview_test_util.cc:35: Failure
Failed
RunLoop::Run() timed out. Timeout set at ProxyRunTestOnMainThreadLoop@content/public/test/browser_test_base.cc:862.
Stack trace:
    #0 0x581999742852 in base::test::(anonymous namespace)::TimeoutCallbackWithGtestFailure(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&) ./../../base/test/scoped_run_loop_timeout.cc:59:3
    #1 0x581999743998 in Invoke<void (*const &)(const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &), const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &> ./../../base/functional/bind_internal.h:671:12
    #2 0x581999743998 in MakeItSo<void (*const &)(const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &), const std::__Cr::tuple<> &, const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &> ./../../base/functional/bind_internal.h:930:12
    #3 0x581999743998 in RunImpl<void (*const &)(const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &), const std::__Cr::tuple<> &> ./../../base/functional/bind_internal.h:1067:14
    #4 0x581999743998 in base::internal::Invoker<base::internal::FunctorTraits<void (* const&)(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>, base::internal::BindState<false, true, false, void (*)(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>, void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>::Run(base::internal::BindStateBase*, base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>&&, base::Location const&) ./../../base/functional/bind_internal.h:987:12
    #5 0x58199974311b in base::RepeatingCallback<void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>::Run(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&) const & ./../../base/functional/callback.h:344:12
    #6 0x581999742dde in Invoke<const base::RepeatingCallback<void (const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &)> &, const base::Location &, const base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()> &, const base::Location &> ./../../base/functional/bind_internal.h:830:49
    #7 0x581999742dde in MakeItSo<const base::RepeatingCallback<void (const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &)> &, const std::__Cr::tuple<base::Location, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()> > &, const base::Location &> ./../../base/functional/bind_internal.h:930:12
    #8 0x581999742dde in RunImpl<const base::RepeatingCallback<void (const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &)> &, const std::__Cr::tuple<base::Location, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()> > &, 0UL, 1UL> ./../../base/functional/bind_internal.h:1067:14
    #9 0x581999742dde in base::internal::Invoker<base::internal::FunctorTraits<base::RepeatingCallback<void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)> const&, base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()> const&>, base::internal::BindState<false, true, true, base::RepeatingCallback<void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>, base::Location, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>>, void (base::Location const&)>::Run(base::internal::BindStateBase*, base::Location const&) ./../../base/functional/bind_internal.h:987:12
    #10 0x5819993b1250 in base::OnceCallback<void (base::Location const&)>::Run(base::Location const&) && ./../../base/functional/callback.h:156:12
    #11 0x5819993aa151 in base::(anonymous namespace)::OnRunLoopTimeout(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>) ./../../base/run_loop.cc:40:25
    #12 0x5819993b0c25 in Invoke<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), base::RunLoop *, base::Location, base::RepeatingCallback<void (const base::Location &)> > ./../../base/functional/bind_internal.h:671:12
    #13 0x5819993b0c25 in MakeItSo<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), std::__Cr::tuple<base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (const base::Location &)> > > ./../../base/functional/bind_internal.h:930:12
    #14 0x5819993b0c25 in RunImpl<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), std::__Cr::tuple<base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (const base::Location &)> >, 0UL, 1UL, 2UL> ./../../base/functional/bind_internal.h:1067:14
    #15 0x5819993b0c25 in base::internal::Invoker<base::internal::FunctorTraits<void (*&&)(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>), base::RunLoop*, base::Location&&, base::RepeatingCallback<void (base::Location const&)>&&>, base::internal::BindState<false, true, false, void (*)(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>), base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (base::Location const&)>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:980:12
    #16 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #17 0x58197f9e29d4 in void base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::ForwardOnce<>() ./../../base/cancelable_callback.h:134:26
    #18 0x58197f9e2f2e in Invoke<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(), const base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > &> ./../../base/functional/bind_internal.h:738:12
    #19 0x58197f9e2f2e in MakeItSo<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(), std::__Cr::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > > > ./../../base/functional/bind_internal.h:954:5
    #20 0x58197f9e2f2e in void base::internal::Invoker<base::internal::FunctorTraits<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*&&)(), base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>&&>, base::internal::BindState<true, true, false, void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*)(), base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>>, void ()>::RunImpl<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*)(), std::__Cr::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>>, 0ul>(void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*&&)(), std::__Cr::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>>&&, std::__Cr::integer_sequence<unsigned long, 0ul>) ./../../base/functional/bind_internal.h:1067:14
    #21 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #22 0x58199942ad8c in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ./../../base/task/common/task_annotator.cc:202:34
    #23 0x5819994d1609 in RunTask<(lambda at ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:473:11)> ./../../base/task/common/task_annotator.h:98:5
    #24 0x5819994d1609 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:471:23
    #25 0x5819994cf8ba in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:332:40
    #26 0x5819994d2b5b in non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
    #27 0x5819996866c3 in base::MessagePumpGlib::HandleDispatch() ./../../base/message_loop/message_pump_glib.cc:649:46
    #28 0x581999689959 in base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) ./../../base/message_loop/message_pump_glib.cc:274:43
    #29 0x703e1f8f4d3b in g_main_context_dispatch ??:0:0
    #30 0x703e1f94a2b8 in g_io_channel_new_file ??:?
    #31 0x703e1f8f23e3 in g_main_context_iteration ??:0:0
    #32 0x581999686cf0 in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_glib.cc:683:30
    #33 0x5819994d3cb8 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:641:12
    #34 0x5819993a9020 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:133:14
    #35 0x58199909ac37 in Wait ./../../chrome/browser/preloading/preview/preview_test_util.cc:35:17
    #36 0x58199909ac37 in test::PreviewTestHelper::WaitUntilLoadFinished() ./../../chrome/browser/preloading/preview/preview_test_util.cc:90:16
    #37 0x58197f539b56 in PreviewBrowserTest_ErrorOnRedirectionToNonHttpsUrl_Test::RunTestOnMainThread() ./../../chrome/browser/preloading/preview/preview_browsertest.cc:309:12
    #38 0x58199c3a39c1 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:955:9
    #39 0x58199c3a81c4 in Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> ./../../base/functional/bind_internal.h:738:12
    #40 0x58199c3a81c4 in MakeItSo<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> > > ./../../base/functional/bind_internal.h:930:12
    #41 0x58199c3a81c4 in RunImpl<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> >, 0UL> ./../../base/functional/bind_internal.h:1067:14
    #42 0x58199c3a81c4 in base::internal::Invoker<base::internal::FunctorTraits<void (content::BrowserTestBase::*&&)(), content::BrowserTestBase*>, base::internal::BindState<true, true, false, void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:980:12
    #43 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #44 0x58198e84361a in InterceptMainMessageLoopRun ./../../content/browser/browser_main_loop.cc:1074:36
    #45 0x58198e84361a in content::BrowserMainLoop::RunMainMessageLoop() ./../../content/browser/browser_main_loop.cc:1086:7
    #46 0x58198e84c18d in content::BrowserMainRunnerImpl::Run() ./../../content/browser/browser_main_runner_impl.cc:156:15
    #47 0x58198e839c99 in content::BrowserMain(content::MainFunctionParams) ./../../content/browser/browser_main.cc:34:28
    #48 0x58199629a625 in content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:732:10
    #49 0x58199629e5ed in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) ./../../content/app/content_main_runner_impl.cc:1311:10
    #50 0x58199629da92 in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:1162:12
    #51 0x5819962977f3 in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ./../../content/app/content_main.cc:356:36
    #52 0x58199629805c in content::ContentMain(content::ContentMainParams) ./../../content/app/content_main.cc:369:10
    #53 0x58199c3a1792 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:622:3
    #54 0x5819991ef1d3 in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:542:20

[444109:444109:1025/041658.647315:FATAL:preview_manager.cc(73)] Check failed: tab_.
    #0 0x5819773eb586 in ___interceptor_backtrace /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4441:13
    #1 0x58199963a688 in base::debug::CollectStackTrace(base::span<void const*, 18446744073709551615ul, void const**>) ./../../base/debug/stack_trace_posix.cc:1047:7
    #2 0x5819995f1489 in base::debug::StackTrace::StackTrace(unsigned long) ./../../base/debug/stack_trace.cc:245:20
    #3 0x5819992b1ece in logging::LogMessage::Flush() ./../../base/logging.cc:725:29
    #4 0x5819992b196d in logging::LogMessage::~LogMessage() ./../../base/logging.cc:713:3
    #5 0x58199926556b in ~CheckLogMessage ./../../base/check.cc:193:3
    #6 0x58199926556b in logging::(anonymous namespace)::CheckLogMessage::~CheckLogMessage() ./../../base/check.cc:190:31
    #7 0x581999264f30 in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:75:5
    #8 0x581999264f30 in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:297:7
    #9 0x581999264f30 in logging::NotReachedError::~NotReachedError() ./../../base/check.cc:355:16
    #10 0x58199a3afe8f in PreviewManager::GetWebContentsForPreviewTab() ./../../chrome/browser/preloading/preview/preview_manager.cc:73:3
    #11 0x58197f539b87 in PreviewBrowserTest_ErrorOnRedirectionToNonHttpsUrl_Test::RunTestOnMainThread() ./../../chrome/browser/preloading/preview/preview_browsertest.cc:312:16
    #12 0x58199c3a39c1 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:955:9
    #13 0x58199c3a81c4 in Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> ./../../base/functional/bind_internal.h:738:12
    #14 0x58199c3a81c4 in MakeItSo<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> > > ./../../base/functional/bind_internal.h:930:12
    #15 0x58199c3a81c4 in RunImpl<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> >, 0UL> ./../../base/functional/bind_internal.h:1067:14
    #16 0x58199c3a81c4 in base::internal::Invoker<base::internal::FunctorTraits<void (content::BrowserTestBase::*&&)(), content::BrowserTestBase*>, base::internal::BindState<true, true, false, void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:980:12
    #17 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #18 0x58198e84361a in InterceptMainMessageLoopRun ./../../content/browser/browser_main_loop.cc:1074:36
    #19 0x58198e84361a in content::BrowserMainLoop::RunMainMessageLoop() ./../../content/browser/browser_main_loop.cc:1086:7
    #20 0x58198e84c18d in content::BrowserMainRunnerImpl::Run() ./../../content/browser/browser_main_runner_impl.cc:156:15
    #21 0x58198e839c99 in content::BrowserMain(content::MainFunctionParams) ./../../content/browser/browser_main.cc:34:28
    #22 0x58199629a625 in content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:732:10
    #23 0x58199629e5ed in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) ./../../content/app/content_main_runner_impl.cc:1311:10
    #24 0x58199629da92 in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:1162:12
    #25 0x5819962977f3 in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ./../../content/app/content_main.cc:356:36
    #26 0x58199629805c in content::ContentMain(content::ContentMainParams) ./../../content/app/content_main.cc:369:10
    #27 0x58199c3a1792 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:622:3
    #28 0x5819991ef1d3 in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:542:20
    #29 0x581996ad3b19 in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #30 0x581996ad3b19 in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2723:3
    #31 0x581996ad61c2 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2874:11
    #32 0x581996ad7d64 in testing::TestSuite::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:3052:30
    #33 0x581996aff5b5 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5982:44
    #34 0x581996afe64f in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #35 0x581996afe64f in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:5561:10
    #36 0x581999761d1c in base::TestSuite::Run() ./../../base/test/test_suite.cc:421:16
    #37 0x5819a7cecba7 in RunTestSuiteInternal ./../../chrome/test/base/chrome_test_launcher.cc:99:22
    #38 0x5819a7cecba7 in ChromeTestSuiteRunner::RunTestSuite(int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:104:10
    #39 0x58199c576a7d in content::LaunchTestsInternal(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:409:31
    #40 0x58199c577512 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:504:10
    #41 0x5819a7ced449 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:338:10
    #42 0x581998fed627 in main ./../../chrome/test/base/browser_tests_main.cc:60:10
    #43 0x703e1da29d90 in __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #44 0x703e1da29e40 in __libc_start_main ./csu/../csu/libc-start.c:392:3
    #45 0x5819773a502a in _start ??:0:0
Crash keys:
... [omitted rest]


Original change's description:
> Prerender: first impl to dry run painting on prerendering page
>
> This CL triggers tree build right after renderer parsed the main DOM
> tree. CHCKEs on the browser side will guard the metric correctness.
> (See Ifd788c4b04f06a6b98caff1bb9df55af5fb8f07a)
> The following CLs will:
> 1. only trigger it for DSE.
> 2. add more metrics on the renderer side to verify the correctness.
>
> Bug: 40240492
> Change-Id: Icd94bad6a6ecfc5e492e4d9c4b4c227741c041d2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5912738
> Reviewed-by: Hiroki Nakagawa <[email protected]>
> Reviewed-by: Taiyo Mizuhashi <[email protected]>
> Commit-Queue: Lingqi Chi <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1373803}

Bug: 40240492
Change-Id: I8729c84b4ceb1a77761c738f96c4c03675dfcdb0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5966495
Commit-Queue: Mark Pearson <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Owners-Override: Mark Pearson <[email protected]>
Auto-Submit: Mark Pearson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1374047}
pull bot pushed a commit that referenced this pull request Dec 4, 2024
…s //media." #12

This reverts commit dd89c95.

Reason: https://groups.google.com/a/chromium.org/g/chromium-dev/c/KxzyXKv7adQ

Based on the discussion here, I have decided to terminate this work.

Bug: 377144451
Change-Id: Ie8e944cc5ebdc29955b789a62bc5484f01a45fc0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6065883
Reviewed-by: Colin Blundell <[email protected]>
Reviewed-by: Mark Foltz <[email protected]>
Commit-Queue: Ho Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1391364}
pull bot pushed a commit that referenced this pull request Jan 28, 2025
This reverts commit 5b0eb0d.

Reason for revert:
GlicStatusIconTest.ExecuteCommand test consistently fails on Linux UBSan Tests bot:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/

First failure was in this build, the same one where the change landed:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/3210/overview

The failure is
===
[ RUN      ] GlicStatusIconTest.ExecuteCommand
../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57: runtime error: member call on null pointer of type 'glic::GlicProfileManager'
    #0 0x5715ce835751 in glic::GlicStatusIcon::ExecuteCommand(int, int) chrome/browser/glic/launcher/glic_status_icon.cc:90:57
    #1 0x5715c0d9a3fd in glic::GlicStatusIconTest_ExecuteCommand_Test::TestBody() chrome/browser/glic/launcher/glic_status_icon_unittest.cc:90:17
    #2 0x5715ce8a7b3e in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2728:5
    #3 0x5715ce8a9730 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2874:11
    #4 0x5715ce8abbdb in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3052:30
    #5 0x5715ce8c3418 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6020:44
    #6 0x5715ce8c2317 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:5599:10
    #7 0x5715cf9bba9a in base::TestSuite::Run() base/test/test_suite.cc:424:16
    #8 0x5715d0b8969e in content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:190:23
    #9 0x5715bf16bcc3 in base::OnceCallback<int ()>::Run() && base/functional/callback.h:156:12
    #10 0x5715cf9c5abf in RunTestSuite base/test/launcher/unit_test_launcher.cc:188:38
    #11 0x5715cf9c5abf in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:271:10
    #12 0x5715cf9c56cf in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) base/test/launcher/unit_test_launcher.cc:336:10
    #13 0x5715cf9812a4 in main chrome/test/base/run_all_unittests.cc:83:10
    #14 0x70e16a829d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #15 0x70e16a829e3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #16 0x5715b77d4029 in _start (/b/s/w/ir/out/fd58-Linux_UBSan_Bui/unit_tests+0x1ff21029) (BuildId: bc8f3031e6d09fe5)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57 
===

Original change's description:
> Add unit test for glic status icon
>
> Bug: 391706417
> Change-Id: I68aca3dd194ca04fd45d1dd94daffda82ca0f77e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203121
> Commit-Queue: Alison Gale <[email protected]>
> Code-Coverage: [email protected] <[email protected]>
> Reviewed-by: Erik Chen <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1411859}

Bug: 391706417
Change-Id: Ic227009761f576122a2f8e2a102b812fd6a66b2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203514
Bot-Commit: Rubber Stamper <[email protected]>
Auto-Submit: Mark Pearson <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Owners-Override: Mark Pearson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412018}
pull bot pushed a commit that referenced this pull request Jan 29, 2025
This reverts commit c1ff9e3.

Reason for revert: Land with fixes for failing builder. Only request
profile manager when needed

Passing run:
https://ci.chromium.org/ui/inv/u-agale-2025-01-28-19-50-00-97127e6aff791b32

Note that this doesn't solve the underlying initialization timing
of GlobalFeatures but I want to make sure we have some test
coverage checked in while investigating that.

Original change's description:
> Revert "Add unit test for glic status icon"
>
> This reverts commit 5b0eb0d.
>
> Reason for revert:
> GlicStatusIconTest.ExecuteCommand test consistently fails on Linux UBSan Tests bot:
> https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/
>
> First failure was in this build, the same one where the change landed:
> https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/3210/overview
>
> The failure is
> ===
> [ RUN      ] GlicStatusIconTest.ExecuteCommand
> ../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57: runtime error: member call on null pointer of type 'glic::GlicProfileManager'
>     #0 0x5715ce835751 in glic::GlicStatusIcon::ExecuteCommand(int, int) chrome/browser/glic/launcher/glic_status_icon.cc:90:57
>     #1 0x5715c0d9a3fd in glic::GlicStatusIconTest_ExecuteCommand_Test::TestBody() chrome/browser/glic/launcher/glic_status_icon_unittest.cc:90:17
>     #2 0x5715ce8a7b3e in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2728:5
>     #3 0x5715ce8a9730 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2874:11
>     #4 0x5715ce8abbdb in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3052:30
>     #5 0x5715ce8c3418 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6020:44
>     #6 0x5715ce8c2317 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:5599:10
>     #7 0x5715cf9bba9a in base::TestSuite::Run() base/test/test_suite.cc:424:16
>     #8 0x5715d0b8969e in content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:190:23
>     #9 0x5715bf16bcc3 in base::OnceCallback<int ()>::Run() && base/functional/callback.h:156:12
>     #10 0x5715cf9c5abf in RunTestSuite base/test/launcher/unit_test_launcher.cc:188:38
>     #11 0x5715cf9c5abf in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:271:10
>     #12 0x5715cf9c56cf in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) base/test/launcher/unit_test_launcher.cc:336:10
>     #13 0x5715cf9812a4 in main chrome/test/base/run_all_unittests.cc:83:10
>     #14 0x70e16a829d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
>     #15 0x70e16a829e3f in __libc_start_main csu/../csu/libc-start.c:392:3
>     #16 0x5715b77d4029 in _start (/b/s/w/ir/out/fd58-Linux_UBSan_Bui/unit_tests+0x1ff21029) (BuildId: bc8f3031e6d09fe5)
>
> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57
> ===
>
> Original change's description:
> > Add unit test for glic status icon
> >
> > Bug: 391706417
> > Change-Id: I68aca3dd194ca04fd45d1dd94daffda82ca0f77e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203121
> > Commit-Queue: Alison Gale <[email protected]>
> > Code-Coverage: [email protected] <[email protected]>
> > Reviewed-by: Erik Chen <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1411859}
>
> Bug: 391706417
> Change-Id: Ic227009761f576122a2f8e2a102b812fd6a66b2b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203514
> Bot-Commit: Rubber Stamper <[email protected]>
> Auto-Submit: Mark Pearson <[email protected]>
> Commit-Queue: Rubber Stamper <[email protected]>
> Owners-Override: Mark Pearson <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1412018}

Bug: 391706417
Change-Id: Ia23f037231fdfb0dcf6bbde8262f0257fc3af0d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6207131
Commit-Queue: Alison Gale <[email protected]>
Reviewed-by: Erik Chen <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412571}
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.