Bug 263910 - [Content-visibility] ASSERTION FAILED: !renderer.needsLayout() causing imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-video.html to constantly crash
Summary: [Content-visibility] ASSERTION FAILED: !renderer.needsLayout() causing import...
Status: RESOLVED DUPLICATE of bug 262157
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-10-30 11:53 PDT by zalan
Modified: 2023-11-03 13:08 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2023-10-30 11:53:54 PDT
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()
Comment 1 zalan 2023-10-30 11:54:19 PDT
<rdar://116093262>
Comment 2 zalan 2023-10-30 11:57:48 PDT
This is caused by the incorrect order of clearing the needsLayout bits when skipping a subtree (out of flow vs. simple preorder tree traversal)
Comment 3 Rob Buis 2023-11-02 12:24:08 PDT
This seems a dupe of bug 262157.

I think https://github.com/WebKit/WebKit/pull/19710 fixes this.
Comment 4 Tim Nguyen (:ntim) 2023-11-03 13:08:17 PDT

*** This bug has been marked as a duplicate of bug 262157 ***