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

Issue 859596 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Hitting CHECK_FOR_DIRTY_LAYOUT for a captcha OOPIF

Project Member Reported by alex...@chromium.org, Jul 2

Issue description

While checking another issue for --site-per-process problems, I noticed that when I visit https://shop.googlemerchandisestore.com/signin.html?vid=20160512512&mt=1&loginway=header

the captcha OOPIF in the lower middle part of the page, which loads slightly after the main page, crashes on the following check about 30% of the time, resulting in a sad frame:

  CHECK_FOR_DIRTY_LAYOUT(Lifecycle().GetState() <
                         DocumentLifecycle::kLayoutClean);

Stack:

[1:1:0702/103140.000157:FATAL:local_frame_view.cc(1963)] Check failed: false. 
#0 0x7f8fa245cfec base::debug::StackTrace::StackTrace()
#1 0x7f8fa23a61cb logging::LogMessage::~LogMessage()
#2 0x7f8f9a4fb560 blink::LocalFrameView::SetNeedsLayout()
#3 0x7f8f9a500955 blink::LocalFrameView::SetLayoutSize()
#4 0x7f8f9a55843e blink::WebFrameWidgetImpl::Resize()
#5 0x7f8fa0253c88 content::RenderWidget::ResizeWebWidget()
#6 0x7f8fa0253e87 content::RenderWidget::SynchronizeVisualProperties()
#7 0x7f8fa0250fb0 content::RenderWidget::OnSynchronizeVisualProperties()

This is on a Linux release build synced to r570082, with dcheck_always_on.  

+fsamuel@ who recently worked on SynchronizeVisualProperties(), +chrishtr@ for layout.  Anyone know what might be going on here?
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 18

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

commit 224ba0fb28cbf12ee775e53889380c5f218eac42
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Wed Jul 18 20:53:26 2018

Fix DCHECK, which was happening due to un-initialized variables
for throttled subframes.

needs_forced_compositing_update_ could have been set, in cases
when a style update in a throttled frame caused destructive mutations
of compositing state that must be cleaned up or result in stale
pointers from cc.

needs_forced_compositing_update_ forces off throttling for a frame up to
the compositing step, for this reason. It is cleared during the compositing
update step. This means that ShouldThrottleRendering may return true after
this step when it returned false before.

Bug:  859596 , 863427 

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Idc4857b9f4a465f602e3bcc12a76e48d394a2689
Reviewed-on: https://chromium-review.googlesource.com/1141106
Reviewed-by: vmpstr <vmpstr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576202}
[modify] https://crrev.com/224ba0fb28cbf12ee775e53889380c5f218eac42/third_party/blink/renderer/core/frame/local_frame_view.cc
[modify] https://crrev.com/224ba0fb28cbf12ee775e53889380c5f218eac42/third_party/blink/renderer/core/paint/paint_layer.cc

Status: Fixed (was: Available)
Owner: chrishtr@chromium.org
Thanks for the fix, Chris!

Sign in to add a comment