ASSERTION FAILED: !renderer.needsLayout() /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Source/WebCore/rendering/RenderBlock.cpp(3152) : void WebCore::RenderBlock::checkPositionedObjectsNeedLayout() 1 0x105503128 WTFCrash 2 0x2cb04cc90 WTF::RefPtr<WebCore::AudioWorkletMessagingProxy, WTF::RawPtrTraits<WebCore::AudioWorkletMessagingProxy>, WTF::DefaultRefDerefTraits<WebCore::AudioWorkletMessagingProxy>>::operator->() const 3 0x2cd775328 WebCore::RenderBlock::checkPositionedObjectsNeedLayout() 4 0x2cd92ce0c WebCore::RenderObject::checkBlockPositionedObjectsNeedLayout() 5 0x2cd92cd6c WebCore::RenderObject::clearNeedsLayout() 6 0x2cd81d1bc WebCore::RenderElement::clearNeedsLayoutForDescendants() 7 0x2cd77eda4 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) 8 0x2cd77d620 WebCore::RenderBlockFlow::layoutInFlowChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) 9 0x2cd77c7d0 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) 10 0x2cd7600f0 WebCore::RenderBlock::layout() 11 0x2cccf3580 WebCore::LocalFrameViewLayoutContext::performLayout() 12 0x2cccd1ae0 WebCore::LocalFrameViewLayoutContext::layout() 13 0x2cccece40 WebCore::LocalFrameView::updateLayoutAndStyleIfNeededRecursive() 14 0x2ccd54764 WebCore::Page::layoutIfNeeded() 15 0x2ccd5549c WebCore::Page::updateRendering() 16 0x1321bd578 WebKit::WebPage::updateRendering() 17 0x13129dd5c WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit::TiledCoreAnimationDrawingArea::UpdateRenderingType) 18 0x1312a2550 WebKit::TiledCoreAnimationDrawingArea::renderingUpdateRunLoopCallback() 19 0x1312a3894 WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&, WebKit::WebPageCreationParameters const&)::$_0::operator()() const 20 0x1312a3840 WTF::Detail::CallableWrapper<WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&, WebKit::WebPageCreationParameters const&)::$_0, void>::call()
<rdar://116093262>
This is caused by the incorrect order of clearing the needsLayout bits when skipping a subtree (out of flow vs. simple preorder tree traversal)
This seems a dupe of bug 262157. I think https://github.com/WebKit/WebKit/pull/19710 fixes this.
*** This bug has been marked as a duplicate of bug 262157 ***