New issue
Advanced search Search tips

Issue 646437 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 539616



Sign in to add a comment

Offline login is causing a DCHECK in CompositedLayerMapping::updateSquashingLayerGeometry()

Project Member Reported by glevin@chromium.org, Sep 13 2016

Issue description

Version: 55.0.2852.0
OS: Chrome

What steps will reproduce the problem?
(1) On debug build, go (or simulate) offline, go to login screen
(2) Click "Add person".  At the "Network not available" screen, click "sign in as an existing user."
(3) When the login page comes up, enter an email address and click NEXT.

What is the expected output? No DCHECK
What do you see instead? DCHECK

Specifically,

  DCHECK(layers[i].paintLayer->transformAncestor() == commonTransformAncestor); 

in CompositedLayerMapping::updateSquashingLayerGeometry() is triggered:
https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp?l=663

This can be seen in the linux_chromium_chromeos_rel_ng trybot of a recent CL under review:
  https://codereview.chromium.org/2340463002/
I don't think this is related to the CL itself, as the DCHECK happens on my machine even without this change.

 

Comment 1 by glevin@chromium.org, Sep 14 2016

Confirmed that this isn't caused by the CL mentioned above.  This was seen on the linux_chromium_chromeos_rel_ng tryserver:
  https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/278068

Since the above link is probably only good for about 2 weeks, I've recorded the failure here:
  https://paste.googleplex.com/5280690761367552

Not sure why the aforementioned CL can't seem to pass this trybot.
I can repro the failing trybot test locally:

1) Apply the two-line change from CL: https://codereview.chromium.org/2340463002/
2) Build interactive_ui_tests
3) interactive_ui_tests --gtest_filter=LoginTest.GaiaAuthOffline

While I have seen this DCHECK on builds w/o my CL, there's obviously something about the CL that's triggering the DCHECK.

Comment 3 by glevin@chromium.org, Oct 10 2016

Blocking: -539617 539616

Comment 4 by yosin@chromium.org, Feb 8 2017

Cc: yosin@chromium.org
My patch[1] makes this DCHECK hits w/o "screen_gaia_signin.js" on LoginTest.GaiaAuthOffline.

I'll be going disable this DCHECK for committing my patch.


[1] http://crrev.com/2637013002
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 10 2017

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

commit a22b0b4b1401f49e388eef9f96d5cf22e2b5fa08
Author: yosin <yosin@chromium.org>
Date: Fri Feb 10 02:57:25 2017

Temporary disable DCHECK for transform ancestor checking in CompositedLayerMapping

This patch disables |DCHECK()| fro transform ancestor checking in
|CompositedLayerMapping| for landing [1] and [2].

As of offline discussion, this DCHECK itself can be safely ignored since there
is no stability or security implication, and doesn't result in rendering glitch
in this particular case. However, it is hard to make minimal reproduce case;
this DCHECK hits on |LoginTest.GaiaAuthOffline| which is run on ChromeOS only.

[1] http://crrev.com/2680943004 Make FrameSelection to hold non-canonicalized positions
[2] http://crrev.com/2340463002 Set default focus on offline signin page

BUG= 646437 
TEST=n/a; no behavior changes

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

[modify] https://crrev.com/a22b0b4b1401f49e388eef9f96d5cf22e2b5fa08/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp

Owner: chrishtr@chromium.org
Project Member

Comment 7 by bugdroid1@chromium.org, Mar 27 2018

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

commit 5fa574e760ef526149e29940e01f5a8483009748
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Tue Mar 27 00:47:00 2018

[RLS] Fix transform ancestor for squashing layers.

Previously, there was an assumption that the transform ancestor of the compositing
container matched that of the squashed layer. This is wrong in the situation that
the compositing container has a transform.

Previously there was a check in the squashing code to skip some offsets if the
compositing container has a transform. This code was brittle, and started failing
once code was changed to omit composited scrolling offset from the compositing container.

Bug:  824811 , 646437 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ia11af0d954065b31d38d61f8d4561ee3edd57e41
Reviewed-on: https://chromium-review.googlesource.com/979169
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545909}
[modify] https://crrev.com/5fa574e760ef526149e29940e01f5a8483009748/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/5fa574e760ef526149e29940e01f5a8483009748/third_party/WebKit/Source/core/paint/PaintLayer.h
[modify] https://crrev.com/5fa574e760ef526149e29940e01f5a8483009748/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp
[modify] https://crrev.com/5fa574e760ef526149e29940e01f5a8483009748/third_party/WebKit/Source/core/paint/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/5fa574e760ef526149e29940e01f5a8483009748/third_party/WebKit/Source/core/paint/compositing/CompositedLayerMappingTest.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment