New issue
Advanced search Search tips

Issue 865560 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 836890



Sign in to add a comment

[BlinkGenPropertyTrees] virtual/android/fullscreen tests are crashing

Project Member Reported by pdr@chromium.org, Jul 19

Issue description

The virtual/android/fullscreen tests crash with blink gen property trees. There's a comment in enable-blink-gen-property-trees that these are missing scrollbar property tree nodes.

These can be run with:
  third_party/blink/tools/run_web_tests.py --debug --additional-driver-flag=--enable-blink-gen-property-trees virtual/android/fullscreen --skipped=ignore

These are listed in enable-blink-gen-property-trees (https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees?g=0&l=197), here are the first of 91 entries:
  crbug.com/836890 virtual/android/fullscreen/anonymous-block-merge-crash.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/api/document-exit-fullscreen-vs-request.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/api/element-request-fullscreen-two-elements.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/api/element-request-fullscreen-two-iframes.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/api/element-request-fullscreen-vs-exit.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/enter-exit-full-screen-hover.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/exit-full-screen-iframe.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/full-screen-ancestor-shadow.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/full-screen-api.html [ Crash ]
  crbug.com/836890 virtual/android/fullscreen/full-screen-cancel-nested.html [ Crash ]

When I run these tests, they fail with:
-----------------------8<-----------------------
STDERR: Received signal 11 SEGV_MAPERR 000000000030
STDERR: 0  base::debug::StackTrace::StackTrace(unsigned long) + 174
STDERR: 1  base::debug::StackTrace::StackTrace(unsigned long) + 29
STDERR: 2  base::debug::StackTrace::StackTrace() + 28
STDERR: 3  base::debug::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, void*) + 1407
STDERR: 4  _sigtramp + 26
STDERR: 5  0x0 + 4501181784
STDERR: 6  gfx::SizeF::SizeF(gfx::Size const&) + 36
STDERR: 7  cc::LayerTreeImpl::UpdateScrollbarGeometries() + 1196
STDERR: 8  cc::ScrollbarLayerImplBase::CanScrollOrientation() const + 390
STDERR: 9  cc::ScrollbarAnimationController::ApplyOpacityToScrollbars(float) + 448
STDERR: 10 cc::ScrollbarAnimationController::Show() + 52
STDERR: 11 cc::ScrollbarAnimationController::UpdateScrollbarState() + 75
STDERR: 12 cc::ScrollbarAnimationController::DidScrollUpdate() + 21
STDERR: 13 cc::LayerTreeImpl::DidUpdatePageScale() + 255
STDERR: 14 cc::LayerTreeImpl::PushPageScaleFactorAndLimits(float const*, float, float) + 666
STDERR: 15 cc::LayerTreeImpl::PushPropertiesTo(cc::LayerTreeImpl*) + 2471
STDERR: 16 cc::LayerTreeHostImpl::ActivateSyncTree() + 1910
STDERR: 17 cc::ProxyImpl::ScheduledActionActivateSyncTree() + 510
STDERR: 18 cc::Scheduler::ProcessScheduledActions() + 1340
STDERR: 19 cc::Scheduler::NotifyReadyToActivate() + 101
STDERR: 20 cc::ProxyImpl::NotifyReadyToActivate() + 501
STDERR: 21 cc::LayerTreeHostImpl::NotifyReadyToActivate() + 199
STDERR: 22 cc::TileManager::IssueSignals() + 381
STDERR: 23 cc::TileManager::CheckPendingGpuWorkAndIssueSignals() + 3765
STDERR: 24 cc::TileManager::FlushAndIssueSignals() + 326
-----------------------8<-----------------------
 
This issue is causing by we missing OuterViewportScrollLayer in scroll_tree. We reproduce this by toggle devtools mobile emulator.

https://cs.chromium.org/chromium/src/cc/trees/layer_tree_impl.cc?rcl=12d366cdb7c89178d310fd49db319247e7d21fa6&l=227
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 17

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

commit 6b253b354bdfe09dbe88e40561e60d2df3a42160
Author: chaopeng <chaopeng@chromium.org>
Date: Fri Aug 17 20:13:46 2018

[blink-gen-property-trees] Always add scroll node for layout view

The layout test crash because:

1. We always create scrollbar layers even the outer viewport does not scrollable
2. Outer viewport does not scrollable then we don't create scroll node in
   NeedsScrollNode.
3. cc gen property trees alway create scroll node because it is scrollable in
   cc side (RequiresCompositingForRootScroller).

In this patch, we always add scroll node for layout view. After this CL, some
tests in virtual/android/fullscreen still failure but not crash, devtools mobile
emulator still other crash.

Bug:  865560 
Cq-Include-Trybots: luci.chromium.try:linux-blink-gen-property-trees;luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I21a54cf7739055832b4634e28b850bf63543d9ed
Reviewed-on: https://chromium-review.googlesource.com/1156002
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584169}
[modify] https://crrev.com/6b253b354bdfe09dbe88e40561e60d2df3a42160/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
[modify] https://crrev.com/6b253b354bdfe09dbe88e40561e60d2df3a42160/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/6b253b354bdfe09dbe88e40561e60d2df3a42160/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
[modify] https://crrev.com/6b253b354bdfe09dbe88e40561e60d2df3a42160/third_party/blink/renderer/core/paint/paint_controller_paint_test.cc
[modify] https://crrev.com/6b253b354bdfe09dbe88e40561e60d2df3a42160/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
[modify] https://crrev.com/6b253b354bdfe09dbe88e40561e60d2df3a42160/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc

Status: Fixed (was: Assigned)

Sign in to add a comment