New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 667996 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug-Regression



Sign in to add a comment

NPE in draw_property_utils::CalculateVisibleRects with spv2 and rls

Project Member Reported by pdr@chromium.org, Nov 23 2016

Issue description

The following will NPE:
content_shell --enable-slimming-paint-v2 --root-layer-scrolls https://pr.gg

* thread #32: tid = 0x1db373, 0x0000000112f7017f libcc.dylib`cc::draw_property_utils::(anonymous namespace)::CalculateVisibleRects(visible_layer_list=size=1, property_trees=0x000000012b001428, non_root_surfaces_enabled=true) + 1919 at draw_property_utils.cc:401, name = 'Compositor', stop reason = EXC_BAD_ACCESS (code=1, address=0x70)
    frame #0: 0x0000000112f7017f libcc.dylib`cc::draw_property_utils::(anonymous namespace)::CalculateVisibleRects(visible_layer_list=size=1, property_trees=0x000000012b001428, non_root_surfaces_enabled=true) + 1919 at draw_property_utils.cc:401
   398 	    // the viewport clip.
   399 	    const bool fully_visible =
   400 	        !clip_node->layers_are_clipped &&
-> 401 	        !effect_tree.Node(clip_node->target_effect_id)->surface_is_clipped;
   402 	
   403 	    if (fully_visible) {
   404 	      if (!transform_node->ancestors_are_invertible) {

I'm not sure why RLS and non-RLS would differ here. This code was added in:
https://chromium.googlesource.com/chromium/src/+/c3bd281c3071e563de4c19da17cccec9c9770ed6
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 23 2016

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

commit 635d7eed3b226d51cfbce4a0863de02a0ac52ce3
Author: trchen <trchen@chromium.org>
Date: Wed Nov 23 19:40:53 2016

[SPv2] PaintArtifactorCompositor needs to set target_effect_id for root clip

Today we still cache many render surface clip properties in clip nodes, thus
each clip node needs to associate with an effect node. This restriction may
be lifted in the future but today we just blindly assign root surface to it.

BUG= 667996 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2530433003
Cr-Commit-Position: refs/heads/master@{#434224}

[modify] https://crrev.com/635d7eed3b226d51cfbce4a0863de02a0ac52ce3/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp

Comment 2 by pdr@chromium.org, Nov 23 2016

Status: Fixed (was: Assigned)
Thanks!

Sign in to add a comment