Assertion failure on videojs.com |
|||
Issue descriptionSeen on a Galaxy S4: W/WebKit ( 8884): ASSERTION FAILED: !needsLayout() W/WebKit ( 8884): ../../third_party/WebKit/Source/core/layout/LayoutObject.h(324) : void blink::LayoutObject::assertLaidOut() const This may be rendering pipeline throttling related.
,
May 6 2016
Confirmed that disabling rendering pipeline throttling makes this go away. Found two issues: 1. ScrollingCoordinator tries to project touch handler rects inside throttled layers, which don't necessarily have up-to-date compositing data. Candidate fix: https://codereview.chromium.org/1956873002 2. CompositedLayerMapping only skips painting layers that *are* throttled FrameViews, not layers that are *inside* throttled FrameViews. Candidate fix: https://codereview.chromium.org/1954093003 Will still need to figure out how to test these. These might be related to issue 609758 too.
,
May 10 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a14b445bcd0d0cfaf86e57966a611a1c2d592c0e commit a14b445bcd0d0cfaf86e57966a611a1c2d592c0e Author: skyostil <skyostil@chromium.org> Date: Tue May 10 11:10:14 2016 ScrollingCoordinator: Don't project touch handler rectangles into throttled layers When projecting touch handler region rectangles into the layer tree, ignore throttled subtrees since their compositing information may be stale. BUG= 609757 Review-Url: https://codereview.chromium.org/1956873002 Cr-Commit-Position: refs/heads/master@{#392577} [modify] https://crrev.com/a14b445bcd0d0cfaf86e57966a611a1c2d592c0e/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp [modify] https://crrev.com/a14b445bcd0d0cfaf86e57966a611a1c2d592c0e/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp
,
May 11 2016
For posterity here's the stack trace for #2: 05-11 10:40:21.968 10654 10674 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xfbadbeef in tid 10674 (CrRendererMain) 05-11 10:40:22.033 513 513 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 05-11 10:40:22.033 513 513 F DEBUG : Build fingerprint: 'google/angler/angler:6.0.1/MHC19Q/2705526:userdebug/dev-keys' 05-11 10:40:22.033 513 513 F DEBUG : Revision: '0' 05-11 10:40:22.033 513 513 F DEBUG : ABI: 'arm' 05-11 10:40:22.034 513 513 F DEBUG : pid: 10654, tid: 10674, name: CrRendererMain >>> com.google.android.apps.chrome:sandboxed_process0 <<< 05-11 10:40:22.034 513 513 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfbadbeef 05-11 10:40:22.064 513 513 F DEBUG : r0 f39c4e98 r1 fffffffe r2 00000000 r3 fbadbeef 05-11 10:40:22.064 513 513 F DEBUG : r4 4cc15564 r5 00000001 r6 000000e0 r7 f39c4ff0 05-11 10:40:22.064 513 513 F DEBUG : r8 00000000 r9 f39c4f9c sl 4428aef0 fp f39c53b8 05-11 10:40:22.064 513 513 F DEBUG : ip dce919a0 sp f39c4f38 lr de654b9b pc dbdc9a5c cpsr 480f0030 05-11 10:40:22.074 10516 11162 W chromium: [WARNING:audio_sync_reader.cc(132)] AudioSyncReader::Read timed out, audio glitch count=1 05-11 10:40:22.074 10516 11081 W chromium: [WARNING:audio_sync_reader.cc(132)] AudioSyncReader::Read timed out, audio glitch count=1 05-11 10:40:22.091 513 513 F DEBUG : 05-11 10:40:22.091 513 513 F DEBUG : backtrace: 05-11 10:40:22.091 513 513 F DEBUG : #00 pc 008c9a5c /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::PaintLayer::hasNonIsolatedDescendantWithBlendMode() const+39) 05-11 10:40:22.091 513 513 F DEBUG : #01 pc 008cd631 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::PaintLayerPainter::paintLayerContents(blink::GraphicsContext&, blink::PaintLayerPaintingInfo const&, unsigned int, blink::PaintLayerPainter::FragmentPolicy)+776) 05-11 10:40:22.091 513 513 F DEBUG : #02 pc 009c0313 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::CompositedLayerMapping::doPaintTask(blink::GraphicsLayerPaintInfo const&, blink::GraphicsLayer const&, unsigned int const&, blink::GraphicsContext&, blink::IntRect const&) const+390) 05-11 10:40:22.091 513 513 F DEBUG : #03 pc 009c38c7 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::CompositedLayerMapping::paintContents(blink::GraphicsLayer const*, blink::GraphicsContext&, unsigned int, blink::IntRect const&) const+438) 05-11 10:40:22.092 513 513 F DEBUG : #04 pc 0013b053 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_platform.cr.so (blink::GraphicsLayer::paintWithoutCommit(blink::IntRect const*, blink::GraphicsContext::DisabledMode)+298) 05-11 10:40:22.092 513 513 F DEBUG : #05 pc 0013b101 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_platform.cr.so (blink::GraphicsLayer::paint(blink::IntRect const*, blink::GraphicsContext::DisabledMode)+4) 05-11 10:40:22.092 513 513 F DEBUG : #06 pc 007c9d1d /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+20) 05-11 10:40:22.092 513 513 F DEBUG : #07 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.092 513 513 F DEBUG : #08 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.092 513 513 F DEBUG : #09 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.092 513 513 F DEBUG : #10 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.092 513 513 F DEBUG : #11 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.092 513 513 F DEBUG : #12 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.092 513 513 F DEBUG : #13 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.093 513 513 F DEBUG : #14 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.093 513 513 F DEBUG : #15 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.093 513 513 F DEBUG : #16 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.093 513 513 F DEBUG : #17 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.093 513 513 F DEBUG : #18 pc 007c9d65 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaintRecursively(blink::GraphicsLayer*)+92) 05-11 10:40:22.093 513 513 F DEBUG : #19 pc 007cb1bb /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::synchronizedPaint()+370) 05-11 10:40:22.093 513 513 F DEBUG : #20 pc 007d6061 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::FrameView::updateLifecyclePhasesInternal(blink::FrameView::LifeCycleUpdateOption)+464) 05-11 10:40:22.094 513 513 F DEBUG : #21 pc 0089653b /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_core.cr.so (blink::PageAnimator::updateAllLifecyclePhases(blink::LocalFrame&)+14) 05-11 10:40:22.094 513 513 F DEBUG : #22 pc 000dc897 /data/app/com.google.android.apps.chrome-2/lib/arm/libblink_web.cr.so (blink::WebViewImpl::updateAllLifecyclePhases()+154) 05-11 10:40:22.094 513 513 F DEBUG : #23 pc 00ade4b9 /data/app/com.google.android.apps.chrome-2/lib/arm/libcontent.cr.so (content::RenderWidgetCompositor::UpdateLayerTreeHost()+10) 05-11 10:40:22.094 513 513 F DEBUG : #24 pc 0013b555 /data/app/com.google.android.apps.chrome-2/lib/arm/libcc.cr.so (cc::ProxyMain::BeginMainFrame(std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >)+660) 05-11 10:40:22.094 513 513 F DEBUG : #25 pc 00145939 /data/app/com.google.android.apps.chrome-2/lib/arm/libcc.cr.so 05-11 10:40:22.094 513 513 F DEBUG : #26 pc 00071405 /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)+292) 05-11 10:40:22.095 513 513 F DEBUG : #27 pc 0001b5f3 /data/app/com.google.android.apps.chrome-2/lib/arm/libscheduler.cr.so (scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(scheduler::internal::WorkQueue*, scheduler::internal::TaskQueueImpl::Task*)+626) 05-11 10:40:22.095 513 513 F DEBUG : #28 pc 0001b8e9 /data/app/com.google.android.apps.chrome-2/lib/arm/libscheduler.cr.so (scheduler::TaskQueueManager::DoWork(base::TimeTicks, bool)+452) 05-11 10:40:22.095 513 513 F DEBUG : #29 pc 0001a193 /data/app/com.google.android.apps.chrome-2/lib/arm/libscheduler.cr.so 05-11 10:40:22.095 513 513 F DEBUG : #30 pc 00071405 /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)+292) 05-11 10:40:22.095 513 513 F DEBUG : #31 pc 00086921 /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::MessageLoop::RunTask(base::PendingTask const&)+360) 05-11 10:40:22.095 513 513 F DEBUG : #32 pc 00086f2f /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)+26) 05-11 10:40:22.095 513 513 F DEBUG : #33 pc 0008729d /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::MessageLoop::DoDelayedWork(base::TimeTicks*)+204) 05-11 10:40:22.095 513 513 F DEBUG : #34 pc 000890b5 /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::MessagePumpDefault::Run(base::MessagePump::Delegate*)+108) 05-11 10:40:22.095 513 513 F DEBUG : #35 pc 000881eb /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::MessageLoop::RunHandler()+78) 05-11 10:40:22.095 513 513 F DEBUG : #36 pc 0009e7a1 /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::RunLoop::Run()+28) 05-11 10:40:22.096 513 513 F DEBUG : #37 pc 000865a9 /data/app/com.google.android.apps.chrome-2/lib/arm/libbase.cr.so (base::MessageLoop::Run()+64) 05-11 10:40:22.096 513 513 F DEBUG : #38 pc 00b46e53 /data/app/com.google.android.apps.chrome-2/lib/arm/libcontent.cr.so 05-11 10:40:22.096 513 513 F DEBUG : #39 pc 00bca7bf /data/app/com.google.android.apps.chrome-2/lib/arm/libcontent.cr.so 05-11 10:40:22.096 513 513 F DEBUG : #40 pc 00bcaa3f /data/app/com.google.android.apps.chrome-2/lib/arm/libcontent.cr.so 05-11 10:40:22.096 513 513 F DEBUG : #41 pc 00bca175 /data/app/com.google.android.apps.chrome-2/lib/arm/libcontent.cr.so (Java_org_chromium_content_app_ContentMain_nativeStart+228) 05-11 10:40:22.096 513 513 F DEBUG : #42 pc 01239add /data/app/com.google.android.apps.chrome-2/oat/arm/base.odex (offset 0xcce000) (int org.chromium.content.app.ContentMain.nativeStart()+72) 05-11 10:40:22.096 513 513 F DEBUG : #43 pc 01239b5d /data/app/com.google.android.apps.chrome-2/oat/arm/base.odex (offset 0xcce000) (int org.chromium.content.app.ContentMain.start()+48) 05-11 10:40:22.096 513 513 F DEBUG : #44 pc 01235e99 /data/app/com.google.android.apps.chrome-2/oat/arm/base.odex (offset 0xcce000) (void org.chromium.content.app.ChildProcessService$2.run()+4716) 05-11 10:40:22.096 513 513 F DEBUG : #45 pc 71bf68d1 /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ece000)
,
May 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8d0f39db6e6aa60e17c38e2ed7ace717baceef86 commit 8d0f39db6e6aa60e17c38e2ed7ace717baceef86 Author: skyostil <skyostil@chromium.org> Date: Wed May 11 23:38:40 2016 Don't try to paint graphics layers inside throttled frames Previously painting was skipped for PaintLayers that correspond to throttled FrameViews. This could still result in the painting of child PaintLayers that are not FrameViews but still reside in a throttled FrameView. This patch amends the paint suppression logic to skip all layers whose containing view is throttled. We also avoid requiring a clean layout for such layers since throttling means the layout can be out of date. BUG= 609757 Review-Url: https://codereview.chromium.org/1954093003 Cr-Commit-Position: refs/heads/master@{#393106} [modify] https://crrev.com/8d0f39db6e6aa60e17c38e2ed7ace717baceef86/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp [modify] https://crrev.com/8d0f39db6e6aa60e17c38e2ed7ace717baceef86/third_party/WebKit/Source/core/paint/FramePainter.cpp [modify] https://crrev.com/8d0f39db6e6aa60e17c38e2ed7ace717baceef86/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp [modify] https://crrev.com/8d0f39db6e6aa60e17c38e2ed7ace717baceef86/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp
,
May 12 2016
,
May 13 2016
Note to self: this fix went into 52.0.2734.0.
,
May 13 2016
Not seeing any crashes after that version yet: https://crash.corp.google.com/browse?q=custom_data.ChromeCrashProto.magic_signature_1.name%3D%27blink%3A%3AFramePainter%3A%3ApaintContents%27%20AND%20product.Version%20LIKE%20%2752.0.27%25%27&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=#samplereports:5,productversion:30
,
May 16 2016
Looks like the fix brought the crash levels down to pre-throttling levels: https://fracas.googleplex.com/workspace/d49e0a28-44a0-45e5-883e-ccb4332027a7 |
|||
►
Sign in to add a comment |
|||
Comment 1 by skyos...@chromium.org
, May 6 2016