New issue
Advanced search Search tips

Issue 761515 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Regression

Blocking:
issue 417782



Sign in to add a comment

[Root Layer Scrolling] DCHECK fails when scroll

Project Member Reported by chaopeng@chromium.org, Sep 1 2017

Issue description

Chrome Version: 0ca61beb9b02
OS: Linux
What steps will reproduce the problem?
(1) Build debug build
(2) Open a page has root scroller with --root-layer-scrolls
(3) scroll down

It should be a regression. But I don't have a good version.

Crash at https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/frame/LocalFrameView.cpp?rcl=ff26856348279c39eb5d5ab4f96d76596e80756b&l=4115

Log:

[1:1:0901/160145.153676:FATAL:LocalFrameView.cpp(4116)] Check failed: false. 
#0 0x7f27573a2d2d base::debug::StackTrace::StackTrace()
#1 0x7f27573a10fc base::debug::StackTrace::StackTrace()
#2 0x7f275743175a logging::LogMessage::~LogMessage()
#3 0x7f2745a95c34 blink::LocalFrameView::UpdateScrollOffset()
#4 0x7f2743e17c27 blink::ScrollableArea::ScrollOffsetChanged()
#5 0x7f2743e17914 blink::ScrollableArea::SetScrollOffset()
#6 0x7f2743e19d5c blink::ScrollableArea::DidScroll()
#7 0x7f2746482ea8 blink::ScrollingCoordinator::DidScroll()
#8 0x7f273bb8c51d _ZN4base8internal13FunctorTraitsIMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEvE6InvokeIPS3_JS7_SB_EEEvSD_OT_DpOT0_
#9 0x7f273bb8c44a _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEJPS5_S9_SD_EEEvOT_DpOT0_
#10 0x7f273bb8c3c5 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEJNS0_17UnretainedWrapperIS4_EEEEEFvS8_SC_EE7RunImplIRKSE_RKNSt3__15tupleIJSG_EEEJLm0EEEEvOT_OT0_NSN_16integer_sequenceImJXspT1_EEEES8_SC_
#11 0x7f273bb8c2c4 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEJNS0_17UnretainedWrapperIS4_EEEEEFvS8_SC_EE3RunEPNS0_13BindStateBaseES8_SC_
#12 0x7f274ed79e40 _ZNKR4base17RepeatingCallbackIFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEE3RunES4_S8_
#13 0x7f274ed735dc cc::Layer::SetScrollOffsetFromImplSide()
#14 0x7f274efb4477 cc::LayerTreeHost::ApplyScrollAndScale()
#15 0x7f274f09d397 cc::ProxyMain::BeginMainFrame()
#16 0x7f274f099cae _ZN4base8internal13FunctorTraitsIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS2_28BeginMainFrameAndCommitStateENS4_14default_deleteIS6_EEEEEvE6InvokeINS_7WeakPtrIS3_EEJS9_EEEvSB_OT_DpOT0_
#17 0x7f274f099aa5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS4_28BeginMainFrameAndCommitStateENS6_14default_deleteIS8_EEEEENS_7WeakPtrIS5_EEJSB_EEEvOT_OT0_DpOT1_
#18 0x7f274f099956 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS3_28BeginMainFrameAndCommitStateENS5_14default_deleteIS7_EEEEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperISA_EEEEEFvvEE7RunImplISC_NS5_5tupleIJSE_SG_EEEJLm0ELm1EEEEvOT_OT0_NS5_16integer_sequenceImJXspT1_EEEE
#19 0x7f274f099849 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS3_28BeginMainFrameAndCommitStateENS5_14default_deleteIS7_EEEEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperISA_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#20 0x7f275734e281 _ZNO4base12OnceCallbackIFvvEE3RunEv
#21 0x7f27573a7a25 base::debug::TaskAnnotator::RunTask()
#22 0x7f274408c072 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue()
#23 0x7f274408726a blink::scheduler::TaskQueueManager::DoWork()
#24 0x7f2744093577 _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueueManagerEFvbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKbEEEvS6_OT_DpOT0_
#25 0x7f27440934d5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink9scheduler16TaskQueueManagerEFvbERKNS_7WeakPtrIS6_EEJRKbEEEvOT_OT0_DpOT1_
#26 0x7f274409344d _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE7RunImplIRKS7_RKNSt3__15tupleIJS9_bEEEJLm0ELm1EEEEvOT_OT0_NSG_16integer_sequenceImJXspT1_EEEE
#27 0x7f274409335c _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE3RunEPNS0_13BindStateBaseE
#28 0x7f275734e281 _ZNO4base12OnceCallbackIFvvEE3RunEv
#29 0x7f27573a7a25 base::debug::TaskAnnotator::RunTask()
#30 0x7f275745602f base::internal::IncomingTaskQueue::RunTask()
#31 0x7f275745b3a4 base::MessageLoop::RunTask()
#32 0x7f275745b627 base::MessageLoop::DeferOrRunPendingTask()
#33 0x7f275745c314 base::MessageLoop::DoWork()
#34 0x7f2757462c6a base::MessagePumpDefault::Run()
#35 0x7f275745ab64 base::MessageLoop::Run()
#36 0x7f275751170d base::RunLoop::Run()
#37 0x7f27522767db content::RendererMain()
#38 0x7f2752742f6c content::RunZygote()
#39 0x7f2752743c39 content::RunNamedProcessTypeMain()
#40 0x7f275274679e content::ContentMainRunnerImpl::Run()
#41 0x7f275274126d content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#42 0x7f2757c9e885 service_manager::Main()
#43 0x7f275274290f content::ContentMain()
#44 0x55a7a0a43a9e ChromeMain
#45 0x55a7a0a439b2 main
#46 0x7f273e26ef45 __libc_start_main
#47 0x55a7a0a43894 <unknown>

Received signal 6
#0 0x7f27573a2d2d base::debug::StackTrace::StackTrace()
#1 0x7f27573a10fc base::debug::StackTrace::StackTrace()
#2 0x7f27573a26e5 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f2757a00330 <unknown>
#4 0x7f273e283c37 gsignal
#5 0x7f273e287028 abort
#6 0x7f275739e0f6 base::debug::(anonymous namespace)::DebugBreak()
#7 0x7f275739e0d8 base::debug::BreakDebugger()
#8 0x7f2757432416 logging::LogMessage::~LogMessage()
#9 0x7f2745a95c34 blink::LocalFrameView::UpdateScrollOffset()
#10 0x7f2743e17c27 blink::ScrollableArea::ScrollOffsetChanged()
#11 0x7f2743e17914 blink::ScrollableArea::SetScrollOffset()
#12 0x7f2743e19d5c blink::ScrollableArea::DidScroll()
#13 0x7f2746482ea8 blink::ScrollingCoordinator::DidScroll()
#14 0x7f273bb8c51d _ZN4base8internal13FunctorTraitsIMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEvE6InvokeIPS3_JS7_SB_EEEvSD_OT_DpOT0_
#15 0x7f273bb8c44a _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEJPS5_S9_SD_EEEvOT_DpOT0_
#16 0x7f273bb8c3c5 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEJNS0_17UnretainedWrapperIS4_EEEEEFvS8_SC_EE7RunImplIRKSE_RKNSt3__15tupleIJSG_EEEJLm0EEEEvOT_OT0_NSN_16integer_sequenceImJXspT1_EEEES8_SC_
#17 0x7f273bb8c2c4 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink20WebLayerScrollClientEFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEJNS0_17UnretainedWrapperIS4_EEEEEFvS8_SC_EE3RunEPNS0_13BindStateBaseES8_SC_
#18 0x7f274ed79e40 _ZNKR4base17RepeatingCallbackIFvRKN3gfx12ScrollOffsetERKN2cc9ElementIdEEE3RunES4_S8_
#19 0x7f274ed735dc cc::Layer::SetScrollOffsetFromImplSide()
#20 0x7f274efb4477 cc::LayerTreeHost::ApplyScrollAndScale()
#21 0x7f274f09d397 cc::ProxyMain::BeginMainFrame()
#22 0x7f274f099cae _ZN4base8internal13FunctorTraitsIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS2_28BeginMainFrameAndCommitStateENS4_14default_deleteIS6_EEEEEvE6InvokeINS_7WeakPtrIS3_EEJS9_EEEvSB_OT_DpOT0_
#23 0x7f274f099aa5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS4_28BeginMainFrameAndCommitStateENS6_14default_deleteIS8_EEEEENS_7WeakPtrIS5_EEJSB_EEEvOT_OT0_DpOT1_
#24 0x7f274f099956 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS3_28BeginMainFrameAndCommitStateENS5_14default_deleteIS7_EEEEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperISA_EEEEEFvvEE7RunImplISC_NS5_5tupleIJSE_SG_EEEJLm0ELm1EEEEvOT_OT0_NS5_16integer_sequenceImJXspT1_EEEE
#25 0x7f274f099849 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9ProxyMainEFvNSt3__110unique_ptrINS3_28BeginMainFrameAndCommitStateENS5_14default_deleteIS7_EEEEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperISA_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#26 0x7f275734e281 _ZNO4base12OnceCallbackIFvvEE3RunEv
#27 0x7f27573a7a25 base::debug::TaskAnnotator::RunTask()
#28 0x7f274408c072 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue()
#29 0x7f274408726a blink::scheduler::TaskQueueManager::DoWork()
#30 0x7f2744093577 _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueueManagerEFvbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKbEEEvS6_OT_DpOT0_
#31 0x7f27440934d5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink9scheduler16TaskQueueManagerEFvbERKNS_7WeakPtrIS6_EEJRKbEEEvOT_OT0_DpOT1_
#32 0x7f274409344d _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE7RunImplIRKS7_RKNSt3__15tupleIJS9_bEEEJLm0ELm1EEEEvOT_OT0_NSG_16integer_sequenceImJXspT1_EEEE
#33 0x7f274409335c _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE3RunEPNS0_13BindStateBaseE
#34 0x7f275734e281 _ZNO4base12OnceCallbackIFvvEE3RunEv
#35 0x7f27573a7a25 base::debug::TaskAnnotator::RunTask()
#36 0x7f275745602f base::internal::IncomingTaskQueue::RunTask()
#37 0x7f275745b3a4 base::MessageLoop::RunTask()
#38 0x7f275745b627 base::MessageLoop::DeferOrRunPendingTask()
#39 0x7f275745c314 base::MessageLoop::DoWork()
#40 0x7f2757462c6a base::MessagePumpDefault::Run()
#41 0x7f275745ab64 base::MessageLoop::Run()
#42 0x7f275751170d base::RunLoop::Run()
#43 0x7f27522767db content::RendererMain()
#44 0x7f2752742f6c content::RunZygote()
#45 0x7f2752743c39 content::RunNamedProcessTypeMain()
#46 0x7f275274679e content::ContentMainRunnerImpl::Run()
#47 0x7f275274126d content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#48 0x7f2757c9e885 service_manager::Main()
#49 0x7f275274290f content::ContentMain()
#50 0x55a7a0a43a9e ChromeMain
#51 0x55a7a0a439b2 main
#52 0x7f273e26ef45 __libc_start_main
#53 0x55a7a0a43894 <unknown>
  r8: fffffffffffffed8  r9: fffffffffffffec8 r10: 0000000000000008 r11: 0000000000000202
 r12: 000055a7a0a4386b r13: 00007ffef3c22720 r14: 0000000000000000 r15: 0000000000000000
  di: 0000000000000001  si: 0000000000000001  bp: 00007ffef3c1c910  bx: 0000000000000000
  dx: 0000000000000006  ax: 0000000000000000  cx: 00007f273e283c37  sp: 00007ffef3c1c7d8
  ip: 00007f273e283c37 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

 
Can you attach a URL or test case that reproduces the problem?
I can reproduce on ht.chaopeng.me and a page:

```
<!DOCTYPE html>
<style type='text/css'>
body {height: 100000px;}
</style>
```
Cc: -skobes@chromium.org
Labels: -Pri-3 Pri-1
Owner: skobes@chromium.org
Status: Started (was: Untriaged)
I can repro.  Not related to rootScroller.
Blocking: 417782
Cc: szager@chromium.org
Cc: skobes@chromium.org
Labels: -Type-Bug Type-Bug-Regression
Owner: pdr@chromium.org
Status: Assigned (was: Started)
It looks like http://crrev.com/497546 introduced this regression.

@pdr, would you be willing to look into this?

We should really have a layout test that exercises the RLS compositor-thread scroll path (I hear this is possible with gpuBenchmarking).  I'll file another bug for that.

Comment 6 by pdr@chromium.org, Sep 1 2017

Sure, I can look into this.

I have good news about your scroll test. Look at WebFrameTest.cpp's SlimmingPaintWebFrameTest::DidScrollCallbackAfterScrollableAreaChanges for an example of how to simulate compositor-thread scroll changes coming into blink.

Comment 7 by pdr@chromium.org, Sep 1 2017

Status: Fixed (was: Assigned)
And more good news: this is fixed by https://chromium-review.googlesource.com/c/chromium/src/+/644907 which is in the queue.

Comment 8 by pdr@chromium.org, Sep 1 2017

Oh, I think the test added in https://chromium-review.googlesource.com/c/chromium/src/+/644907 actually covers this bug because it runs with and without RLS.
Awesome. :)  Thanks!

Sign in to add a comment