WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
208850
beta.music.apple.com hits RenderTreeNeedsLayoutChecker "post-layout: dirty renderer(s)" assert
https://bugs.webkit.org/show_bug.cgi?id=208850
Summary
beta.music.apple.com hits RenderTreeNeedsLayoutChecker "post-layout: dirty re...
Antti Koivisto
Reported
2020-03-10 02:03:54 PDT
https://beta.music.apple.com/us/playlist/top-100-global/pl.d25f5d1181894928af76c85c967f8f31
2020-03-10 10:55:35.171 MiniBrowser[48648:10450454] WebContent process crashed; reloading ERROR: post-layout: dirty renderer(s) page/FrameViewLayoutContext.cpp(129) : auto WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker()::(anonymous class)::operator()(const WebCore::RenderObject &) const <snipped too large dump> SHOULD NEVER BE REACHED page/FrameViewLayoutContext.cpp(131) : auto WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker()::(anonymous class)::operator()(const WebCore::RenderObject &) const 1 0x2fbe4ba19 WTFCrash 2 0x2e0f8ab8b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x2e439bb4d WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker()::'lambda'(WebCore::RenderObject const&)::operator()(WebCore::RenderObject const&) const 4 0x2e439baa2 WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker() 5 0x2e4392785 WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker() 6 0x2e4391da5 WebCore::FrameViewLayoutContext::layout() 7 0x2e432ef25 WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive() 8 0x2e43b73ce WebCore::Page::layoutIfNeeded() 9 0x2e43b747a WebCore::Page::updateRendering() 10 0x10b7e26f6 WebKit::WebPage::updateRendering() 11 0x10b228d44 WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit::TiledCoreAnimationDrawingArea::UpdateRenderingType) 12 0x10b22d2ad WebKit::TiledCoreAnimationDrawingArea::updateRenderingRunLoopCallback() 13 0x10b23cfb8 WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&, WebKit::WebPageCreationParameters const&)::$_0::operator()() const 14 0x10b23cf6e WTF::Detail::CallableWrapper<WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&, WebKit::WebPageCreationParameters const&)::$_0, void>::call() 15 0x2e0f9d3b2 WTF::Function<void ()>::operator()() const 16 0x2e4620cc0 WebCore::RunLoopObserver::runLoopObserverFired() 17 0x2e4620c20 WebCore::RunLoopObserver::runLoopObserverFired(__CFRunLoopObserver*, unsigned long, void*) 18 0x7fff2e86e6a5 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 19 0x7fff2e86e5d7 __CFRunLoopDoObservers 20 0x7fff2e86d1e9 CFRunLoopRunSpecific 21 0x7fff30f012a8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 22 0x7fff30fb3d2f -[NSRunLoop(NSRunLoop) run] 23 0x7fff6889151a _xpc_objc_main.cold.4 24 0x7fff68891460 _xpc_objc_main 25 0x7fff68890f93 _xpc_copy_xpcservice_dictionary 26 0x10a7f9af9 WebKit::XPCServiceMain(int, char const**) 27 0x10bb66a7b WKXPCServiceMain 28 0x109f59eb2 main 29 0x7fff68643cc9 start 30 0x1 2020-03-10 10:55:59.869 MiniBrowser[48648:10450454] WebContent process crashed; reloading
Attachments
render tree dump
(1.17 MB, text/plain)
2020-03-10 02:06 PDT
,
Antti Koivisto
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Antti Koivisto
Comment 1
2020-03-10 02:06:33 PDT
Created
attachment 393127
[details]
render tree dump
Alexey Proskuryakov
Comment 2
2020-03-11 09:36:02 PDT
Adding "RenderTreeNeedsLayoutChecker" to the title for ease of finding.
Tyler Wilcock
Comment 3
2020-04-20 15:06:14 PDT
Hello! Starting from a snapshot of
https://beta.music.apple.com/us/playlist/top-100-global/pl.d25f5d1181894928af76c85c967f8f31
, I used Lithium[1] to get this minimal reproduction of a crash. <html> <head> <style> .visuallyhidden { position: absolute; width: 1px; } .product-page { display: flex; } .product-lockup__artwork { position: relative; } .shelf-grid__list { display: grid; overflow-x: auto; min-height: 140px; } </style> </head> <body> <div class="product-page"> <div class="product-lockup__artwork"> <span class="visuallyhidden"> <ul class="shelf-grid__list"> <button type="button"></button> </ul> </span> </div> </div> </body> </html> ERROR: post-layout: dirty renderer(s) ../../Source/WebCore/page/FrameViewLayoutContext.cpp(129) : WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker()::<lambda(const WebCore::RenderObject&)> (B)lock/(I)nline/I(N)line-block, (A)bsolute/Fi(X)ed/(R)elative/Stic(K)y, (F)loating, (O)verflow clip, Anon(Y)mous, (G)enerated, has(L)ayer, (C)omposited, (+)Dirty style, (+)Dirty layout B---YGL- -- RenderView at (0,0) size 800x558 renderer->(0x7fe3e40591c0) B-----L- -- HTML RenderBlock at (0,0) size 800x558 renderer->(0x7fe3e4059620) node->(0x7fe3e4059470) B------- -- BODY RenderBody at (8,8) size 784x542 renderer->(0x7fe3e4059740) node->(0x7fe3e4059590) B------- -- DIV RenderFlexibleBox at (0,0) size 784x0 renderer->(0x7fe3e405aeb0) node->(0x7fe3e405aa80) BR----L- -+* DIV RenderBlock at (0,0) size 0x0 renderer->(0x7fe3e405b060) node->(0x7fe3e405ab70) layout->[positioned child] BA----L- -+ SPAN RenderBlock at (0,0) size 1x172 renderer->(0x7fe3e405b180) node->(0x7fe3e405ac60) layout->[normal child] B--O--L- -- UL RenderGrid at (0,16) size 40x140 renderer->(0x7fe3e405b2a0) node->(0x7fe3e405ad50) B------- -- BUTTON RenderButton at (42,2) size 16x136 renderer->(0x7fe3e405b5d0) node->(0x7fe3e405ade0) SHOULD NEVER BE REACHED ../../Source/WebCore/page/FrameViewLayoutContext.cpp(131) : WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker()::<lambda(const WebCore::RenderObject&)> 1 0x7fe3ef115d79 WTFCrash 2 0x7fe3fc1cf8f7 WTF::CrashOnOverflow::overflowed() 3 0x7fe3ff437273 /app/webkit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0xe9f3273) [0x7fe3ff437273] 4 0x7fe3ff4372fd WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker() 5 0x7fe3ff42d45b WebCore::FrameViewLayoutContext::layout() 6 0x7fe3fe9b488b WebCore::Document::implicitClose() 7 0x7fe3ff23f85d WebCore::FrameLoader::checkCallImplicitClose() 8 0x7fe3ff23f59d WebCore::FrameLoader::checkCompleted() 9 0x7fe3ff23f232 WebCore::FrameLoader::finishedParsing() 10 0x7fe3fe9c1bf0 WebCore::Document::finishedParsing() 11 0x7fe3fef703a3 WebCore::HTMLConstructionSite::finishedParsing() 12 0x7fe3fefac832 WebCore::HTMLTreeBuilder::finished() 13 0x7fe3fef7482a WebCore::HTMLDocumentParser::end() 14 0x7fe3fef74902 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() 15 0x7fe3fef7337c WebCore::HTMLDocumentParser::prepareToStopParsing() 16 0x7fe3fef7493d WebCore::HTMLDocumentParser::attemptToEnd() 17 0x7fe3fef749ed WebCore::HTMLDocumentParser::finish() 18 0x7fe3ff22fe4e WebCore::DocumentWriter::end() 19 0x7fe3ff1faf67 WebCore::DocumentLoader::finishedLoading() 20 0x7fe3ff1fa9cb WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource&) 21 0x7fe3ff312003 WebCore::CachedResource::checkNotify() 22 0x7fe3ff31210a WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) 23 0x7fe3ff30dbf8 WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) 24 0x7fe3ff2bc59b WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&) 25 0x7fe3fd13f153 WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics const&) 26 0x7fe3fc5f2ce2 void IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&), std::tuple<WebCore::NetworkLoadMetrics>, 0ul>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&), std::tuple<WebCore::NetworkLoadMetrics>&&, std::integer_sequence<unsigned long, 0ul>) 27 0x7fe3fc5f23cc void IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&), std::tuple<WebCore::NetworkLoadMetrics>, std::integer_sequence<unsigned long, 0ul> >(std::tuple<WebCore::NetworkLoadMetrics>&&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&)) 28 0x7fe3fc5f194a void IPC::handleMessage<Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&)>(IPC::Decoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&)) 29 0x7fe3fc5f0c1e WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) 30 0x7fe3fd0fd019 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 31 0x7fe3fc969da7 IPC::Connection::dispatchMessage(IPC::Decoder&) [1]:
https://github.com/MozillaSecurity/lithium/
Simon Fraser (smfr)
Comment 4
2020-06-04 11:03:47 PDT
Thanks for the reduction!
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug