New issue
Advanced search Search tips

Issue 856808 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Mac
Pri: 1
Type: Bug

Blocked on:
issue 859304



Sign in to add a comment

CHECK failure: layer->GetCompositingReasons() || (layer->GetCompositingState() != kNotComposite

Project Member Reported by ClusterFuzz, Jun 26 2018

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=5939314505285632

Fuzzer: marty_html_twiddler
Job Type: linux_asan_chrome_v8_arm
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  layer->GetCompositingReasons() || (layer->GetCompositingState() != kNotComposite
  blink::PaintLayerCompositor::UpdateIfNeeded
  blink::PaintLayerCompositor::UpdateIfNeededRecursiveInternal
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=569944:570329

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5939314505285632

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jun 26 2018

Labels: OS-Android
Project Member

Comment 2 by ClusterFuzz, Jun 26 2018

Components: Blink>Compositing
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 3 by ClusterFuzz, Jun 26 2018

Cc: wangxianzhu@chromium.org szager@chromium.org
Labels: Test-Predator-Auto-CC
Automatically adding ccs based on suspected regression changelists:

[rm-for-spv175] Remove Pre-SPv175 paint invalidation code by wangxianzhu@chromium.org - https://chromium.googlesource.com/chromium/src/+/e53b7dd181be1003f1c060783eb009b91febb5ac

[RootLayerScrolls] Delete obsolete 'scrollbars suppressed' code. by szager@chromium.org - https://chromium.googlesource.com/chromium/src/+/d22ea4a97ad699cb512acf6f55dbdf67b86b7225

[rm-for-spv175] Remove all remaining Pre-SPv175 code by wangxianzhu@chromium.org - https://chromium.googlesource.com/chromium/src/+/c68955830d4ca06ded5d9237def7b1a955589266

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label.
Labels: -Test-Predator-Auto-CC Test-Predator-Wrong-CLs
Owner: trchen@chromium.org
Status: Assigned (was: Untriaged)
Locally bisected to https://chromium-review.googlesource.com/1101817.
Owner: chrishtr@chromium.org
Project Member

Comment 6 by ClusterFuzz, Jun 27 2018

Labels: OS-Mac
I think the root cause of this bug is similar to  issue 823748 
(floats under inlines).
More reduced and simplified testcase attached.
test2.html
680 bytes View Download
Actually, it seems the reason is more basic. We need to avoid setting any
compositing reason for a non-self-painting PaintLayer, since
(a) there is no point as they won't be composited anyway, and
(b) their stacking container is more complicated to compute.
Cc: chrishtr@chromium.org
 Issue 856876  has been merged into this issue.
Project Member

Comment 11 by ClusterFuzz, Jun 29 2018

Labels: OS-Windows
Project Member

Comment 12 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/655a604ce836d960d0a9cea12422b35276b4a769

commit 655a604ce836d960d0a9cea12422b35276b4a769
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Sat Jun 30 00:36:35 2018

[Fast compositing] Don't set any compositing reasons for non-self-painting PaintLayers.

They can't composite anyway.

Bug:  856808 

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie7071658827b7bc23315db775c7d872817190fb4
Reviewed-on: https://chromium-review.googlesource.com/1119584
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571724}
[modify] https://crrev.com/655a604ce836d960d0a9cea12422b35276b4a769/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater.cc
[modify] https://crrev.com/655a604ce836d960d0a9cea12422b35276b4a769/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater.cc
[modify] https://crrev.com/655a604ce836d960d0a9cea12422b35276b4a769/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater_test.cc
[modify] https://crrev.com/655a604ce836d960d0a9cea12422b35276b4a769/third_party/blink/renderer/core/paint/paint_layer_test.cc

Status: Fixed (was: Assigned)
Project Member

Comment 14 by ClusterFuzz, Jun 30 2018

Labels: ClusterFuzz-Verified
Status: Verified (was: Fixed)
ClusterFuzz testcase 5860900649828352 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Project Member

Comment 15 by ClusterFuzz, Jun 30 2018

ClusterFuzz has detected this issue as fixed in range 571719:571724.

Detailed report: https://clusterfuzz.com/testcase?key=5939314505285632

Fuzzer: marty_html_twiddler
Job Type: linux_asan_chrome_v8_arm
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  layer->GetCompositingReasons() || (layer->GetCompositingState() != kNotComposite
  blink::PaintLayerCompositor::UpdateIfNeeded
  blink::PaintLayerCompositor::UpdateIfNeededRecursiveInternal
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=569944:570329
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=571719:571724

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5939314505285632

See https://github.com/google/clusterfuzz-tools for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Blockedon: 859304
Status: Started (was: Verified)
Reopening because the fix above caused  Issue 859304 , which seems like a serious logic error. Reverting the above patch in https://chromium-review.googlesource.com/1121856 .

Project Member

Comment 18 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a41279aa8c63eb6ddc8c032223fe7bf3498949b

commit 1a41279aa8c63eb6ddc8c032223fe7bf3498949b
Author: Kenneth Russell <kbr@chromium.org>
Date: Mon Jul 02 00:54:41 2018

Revert "[Fast compositing] Don't set any compositing reasons for non-self-painting PaintLayers."

This reverts commit 655a604ce836d960d0a9cea12422b35276b4a769.

Reason for revert: caused intermittent crashes in layout tests, cancel-unattached-animation.html in particular. The logic error seems significant enough to warrant reverting.

Bug:  859304 

Original change's description:
> [Fast compositing] Don't set any compositing reasons for non-self-painting PaintLayers.
> 
> They can't composite anyway.
> 
> Bug:  856808 
> 
> Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: Ie7071658827b7bc23315db775c7d872817190fb4
> Reviewed-on: https://chromium-review.googlesource.com/1119584
> Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#571724}

TBR=trchen@chromium.org,pdr@chromium.org,chrishtr@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  856808 
Change-Id: I4147f27c73af71751bbd3bddd852bd858c82c5b6
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1121856
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571801}
[modify] https://crrev.com/1a41279aa8c63eb6ddc8c032223fe7bf3498949b/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater.cc
[modify] https://crrev.com/1a41279aa8c63eb6ddc8c032223fe7bf3498949b/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater.cc
[modify] https://crrev.com/1a41279aa8c63eb6ddc8c032223fe7bf3498949b/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater_test.cc
[modify] https://crrev.com/1a41279aa8c63eb6ddc8c032223fe7bf3498949b/third_party/blink/renderer/core/paint/paint_layer_test.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0a8a4289a2c97fa6442c945621480dc18a3fb9b

commit f0a8a4289a2c97fa6442c945621480dc18a3fb9b
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Jul 02 21:22:38 2018

Re-land: [Fast compositing] Don't set any compositing reasons for non-self-painting PaintLayers.

This reverts commit 1a41279aa8c63eb6ddc8c032223fe7bf3498949b.

virtual/threaded/animations/cancel-unattached-animation.html was failing because
PaintLayerCompositor::CanBeComposited has an early out if the LocalFrameView's IsVisible
bit is false. When that bit changes, compositing inputs need to re-computed, to get a correct
value for PaintLayer::DescendantHasDirectOrScrollingCompositingReason.

Bug:  859304 , 856808 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I4eb61112f3d396df1361486007c6efd2c6f7b339
Reviewed-on: https://chromium-review.googlesource.com/1123027
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572002}
[modify] https://crrev.com/f0a8a4289a2c97fa6442c945621480dc18a3fb9b/third_party/blink/renderer/core/frame/local_frame_view.cc
[modify] https://crrev.com/f0a8a4289a2c97fa6442c945621480dc18a3fb9b/third_party/blink/renderer/core/frame/local_frame_view.h
[modify] https://crrev.com/f0a8a4289a2c97fa6442c945621480dc18a3fb9b/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater.cc
[modify] https://crrev.com/f0a8a4289a2c97fa6442c945621480dc18a3fb9b/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater.cc
[modify] https://crrev.com/f0a8a4289a2c97fa6442c945621480dc18a3fb9b/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater_test.cc
[modify] https://crrev.com/f0a8a4289a2c97fa6442c945621480dc18a3fb9b/third_party/blink/renderer/core/paint/paint_layer_test.cc

Status: Fixed (was: Started)
 Issue 859526  has been merged into this issue.

Sign in to add a comment