Test: <script> </script> <style> * { position:fixed; opacity:0; -webkit-perspective:1em; -webkit-transition-duration:1ms; } </style> <iframe></iframe> Output: ASSERTION FAILED: foundAncestor WebKit/Source/WebCore/rendering/RenderLayer.cpp(1927) : const WebCore::RenderLayer* WebCore::accumulateOffsetTowardsAncestor(const WebCore::RenderLayer*, const WebCore::RenderLayer*, WebCore::LayoutPoint&, WebCore::RenderLayer::ColumnOffsetAdjustment) Backtrace: #1 in WebCore::accumulateOffsetTowardsAncestor (layer=0x85a530, ancestorLayer=0x8161c0, location=..., adjustForColumns=WebCore::RenderLayer::DontAdjustForColumns) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:1927 #2 in WebCore::RenderLayer::convertToLayerCoords (this=0x85a530, ancestorLayer=0x8161c0, location=..., adjustForColumns=WebCore::RenderLayer::DontAdjustForColumns) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:2023 #3 in WebCore::RenderLayer::offsetFromAncestor (this=0x85a530, ancestorLayer=0x8161c0) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:2029 #4 in WebCore::RenderLayer::localClipRect (this=0x85a530, clipExceedsBounds=@0x7fffffffc450: false) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:5444 #5 in WebCore::RenderLayer::calculateLayerBounds (this=0x85a530, ancestorLayer=0x8277c0, offsetFromRoot=..., flags=79) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:5661 #6 in WebCore::RenderLayer::calculateLayerBounds (this=0x8277c0, ancestorLayer=0x8161c0, offsetFromRoot=..., flags=79) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:5706 #7 in WebCore::RenderLayer::calculateLayerBounds (this=0x8161c0, ancestorLayer=0x8161c0, offsetFromRoot=..., flags=95) at WebKit/Source/WebCore/rendering/RenderLayer.cpp:5706 #8 in WebCore::RenderLayerBacking::updateCompositedBounds (this=0x825790) at WebKit/Source/WebCore/rendering/RenderLayerBacking.cpp:443 #9 in WebCore::RenderLayerCompositor::rebuildCompositingLayerTree (this=0x6229a0, layer=..., childLayersOfEnclosingLayer=..., depth=1) at WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:1443 #10 in WebCore::RenderLayerCompositor::rebuildCompositingLayerTree (this=0x6229a0, layer=..., childLayersOfEnclosingLayer=..., depth=0) at WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:1498 #11 in WebCore::RenderLayerCompositor::updateCompositingLayers (this=0x6229a0, updateType=WebCore::CompositingUpdateAfterLayout, updateRoot=0x7d7f70) at WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:742 #12 in WebCore::FrameView::updateCompositingLayersAfterLayout (this=0x7399c0) at WebKit/Source/WebCore/page/FrameView.cpp:728 #13 in WebCore::FrameView::layout (this=0x7399c0, allowSubtree=true) at WebKit/Source/WebCore/page/FrameView.cpp:1319 #14 in WebCore::Document::implicitClose (this=0x7667d0) at WebKit/Source/WebCore/dom/Document.cpp:2438 #15 in WebCore::FrameLoader::checkCallImplicitClose (this=0x728038) at WebKit/Source/WebCore/loader/FrameLoader.cpp:898 #16 in WebCore::FrameLoader::checkCompleted (this=0x728038) at WebKit/Source/WebCore/loader/FrameLoader.cpp:844 #17 in WebCore::FrameLoader::finishedParsing (this=0x728038) at WebKit/Source/WebCore/loader/FrameLoader.cpp:764 #18 in WebCore::Document::finishedParsing (this=0x7667d0) at WebKit/Source/WebCore/dom/Document.cpp:4519 #19 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7fa598) at WebKit/Source/WebCore/html/parser/HTMLConstructionSite.cpp:395 #20 in WebCore::HTMLTreeBuilder::finished (this=0x7fa580) at WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2997 #21 in WebCore::HTMLDocumentParser::end (this=0x792ea0) at WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:451 #22 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x792ea0) at WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:462 #23 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x792ea0) at WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:165 #24 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x792ea0) at WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:474 #25 in WebCore::HTMLDocumentParser::finish (this=0x792ea0) at WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:502 #26 in WebCore::DocumentWriter::end (this=0x7db3e0) at WebKit/Source/WebCore/loader/DocumentWriter.cpp:250 #27 in WebCore::DocumentLoader::finishedLoading (this=0x7db340, finishTime=0) at WebKit/Source/WebCore/loader/DocumentLoader.cpp:441 #28 in WebCore::DocumentLoader::notifyFinished (this=0x7db340, resource=0x7f6420) at WebKit/Source/WebCore/loader/DocumentLoader.cpp:375 #29 in WebCore::CachedResource::checkNotify (this=0x7f6420) at WebKit/Source/WebCore/loader/cache/CachedResource.cpp:334 #30 in WebCore::CachedResource::finishLoading (this=0x7f6420) at WebKit/Source/WebCore/loader/cache/CachedResource.cpp:350 #31 in WebCore::CachedRawResource::finishLoading (this=0x7f6420, data=0x67c760) at WebKit/Source/WebCore/loader/cache/CachedRawResource.cpp:98 #32 in WebCore::SubresourceLoader::didFinishLoading (this=0x7f6980, finishTime=0) at WebKit/Source/WebCore/loader/SubresourceLoader.cpp:310 #33 in WebCore::ResourceLoader::didFinishLoading (this=0x7f6980, finishTime=0) at WebKit/Source/WebCore/loader/ResourceLoader.cpp:517 #34 in WebCore::readCallback (asyncResult=0x7faa10, data=0x7f6fb0) at WebKit/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1302 #35 in async_ready_callback_wrapper (source_object=0x6821b0, res=0x7faa10, user_data=0x7f6fb0) at ginputstream.c:519 #36 in g_task_return_now (task=0x7faa10) at gtask.c:1108 #37 in complete_in_idle_cb (task=0x7faa10) at gtask.c:1117 #38 in g_main_dispatch (context=0x67c7a0) at gmain.c:3065 #39 g_main_context_dispatch (context=context@entry=0x67c7a0) at gmain.c:3641 #40 in _ecore_glib_select__locked (ecore_timeout=<optimized out>, efds=<optimized out>, wfds=0x7fffffffd7c0, rfds=0x7fffffffd740, ecore_fds=4, ctx=<optimized out>) at lib/ecore/ecore_glib.c:172 #41 _ecore_glib_select (ecore_fds=4, rfds=0x7fffffffd740, wfds=0x7fffffffd7c0, efds=<optimized out>, ecore_timeout=<optimized out>) at lib/ecore/ecore_glib.c:204 #42 in _ecore_main_select (timeout=<optimized out>) at lib/ecore/ecore_main.c:1579 #43 in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2007 #44 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1042 #45 in WTF::RunLoop::run () at WebKit/Source/WTF/wtf/efl/RunLoopEfl.cpp:51 #46 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffdc68) at WebKit/Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #47 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffdc68) at WebKit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:128 #48 in main (argc=2, argv=0x7fffffffdc68) at WebKit/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:32
This issue no longer occurs under GuardMalloc or ASAN as of r204037. If you believe there is still a bug, please reopen this issue with a revised test case.
Created attachment 424121 [details] Test Here is a new test. I'm able to hit the assert on linux/macos debug at r274867
Reopening since it still reproducible with attachment 424121 [details].
It is still asserting in WK2 Debug Mini-Browser instance using attached testcase based of 259136@main.