WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
287113
Crash/assert in WebKitGtk on Linux
https://bugs.webkit.org/show_bug.cgi?id=287113
Summary
Crash/assert in WebKitGtk on Linux
reynolds2469
Reported
2025-02-05 12:56:41 PST
Hi, There is an issue with embedded WebKitGtk in PrusaSlicer, Bamboo Slicer and OrcaSlicer on multiple Linux distributions. I am using Xubuntu 24.10. There reports from users from different distros here (
https://github.com/SoftFever/OrcaSlicer/issues/7210#issuecomment-2440350811
) The same issue is reproduced with MiniBrowser test app, so I guess it is not specific to the host application. The WebKit is asserting in RenderElement::setOutOfFlowChildNeedsStaticPositionLayout() when connecting to the Mainsail 3D printing control application. The Mainsail has some kind of loading screen showing the project bar. After the client side code has loaded, the main screen is rendered. I see the loading screen and can barely see the main screen, but then it is asserting. I have tested the latest 2.46.5 distribution specific version. The same issue is reproduced with the vanilla local build without any distribution specific modifications. The problem have started somewhere around middle last year. Best regards, Max.
Attachments
Add attachment
proposed patch, testcase, etc.
Lauro Moura
Comment 1
2025-02-05 15:37:10 PST
Not sure if directly related, as it happens on Windows, but
bug275103
also reports an assertion in setOutOfFlowChildNeedsStaticPositionLayout, starting early June last year.
reynolds2469
Comment 2
2025-02-07 09:53:27 PST
Hi, I have re-tested with the latest version from the GitHub. The issue is still happening. ASSERTION FAILED: posChildNeedsLayout() || selfNeedsLayout() || needsSimplifiedNormalFlowLayout() || !parent() /hdd/Work/webkitgtk-rebuild/latest/WebKit-main/Source/WebCore/rendering/RenderElement.cpp(1244) : void WebCore::RenderElement::setOutOfFlowChildNeedsStaticPositionLayout() 1 0x7071c2f08b00 WebCore::RenderElement::setOutOfFlowChildNeedsStaticPositionLayout() 2 0x7071c32c9bec WebCore::RenderTreeBuilder::attachToRenderElementInternal(WebCore::RenderElement&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 3 0x7071c32c93fa WebCore::RenderTreeBuilder::attachToRenderElement(WebCore::RenderElement&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 4 0x7071c32ce2c1 WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation(WebCore::RenderBlock&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 5 0x7071c32cd73f WebCore::RenderTreeBuilder::Block::attach(WebCore::RenderBlock&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 6 0x7071c32cf858 WebCore::RenderTreeBuilder::BlockFlow::attach(WebCore::RenderBlockFlow&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 7 0x7071c32c8583 WebCore::RenderTreeBuilder::attachInternal(WebCore::RenderElement&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 8 0x7071c32c7f4b WebCore::RenderTreeBuilder::attach(WebCore::RenderElement&, std::unique_ptr<WebCore::RenderObject, WebCore::RenderObjectDeleter>, WebCore::RenderObject*) 9 0x7071c32efa5a WebCore::RenderTreeUpdater::createRenderer(WebCore::Element&, WebCore::RenderStyle&&) 10 0x7071c32ef618 WebCore::RenderTreeUpdater::updateElementRenderer(WebCore::Element&, WebCore::Style::ElementUpdate const&) 11 0x7071c32ee614 WebCore::RenderTreeUpdater::updateRenderTree(WebCore::ContainerNode&) 12 0x7071c32ed8a3 WebCore::RenderTreeUpdater::commit(std::unique_ptr<WebCore::Style::Update, std::default_delete<WebCore::Style::Update> >) 13 0x7071c1277ec7 WebCore::Document::updateRenderTree(std::unique_ptr<WebCore::Style::Update, std::default_delete<WebCore::Style::Update> >) 14 0x7071c12788a5 WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) 15 0x7071c12790c7 WebCore::Document::updateStyleIfNeeded() 16 0x7071c12794c6 WebCore::Document::updateLayout(WTF::OptionSet<WebCore::LayoutOptions>, WebCore::Element const*) 17 0x7071c1279160 WebCore::Document::updateLayoutIgnorePendingStylesheets(WTF::OptionSet<WebCore::LayoutOptions>, WebCore::Element const*) 18 0x7071c127a2bf WebCore::Document::updateLayoutIfDimensionsOutOfDate(WebCore::Element&, WTF::OptionSet<WebCore::DimensionsCheck>) 19 0x7071c138333b WebCore::Element::clientWidth() 20 0x7071be4ae05d jsElement_clientWidthGetter 21 0x7071be4cc06c get<WebCore::jsElement_clientWidthGetter, (WebCore::CastedThisErrorBehavior)3> 22 0x7071be4ae0d5 jsElement_clientWidth 23 0x7071b68e2a2a WTF::FunctionPtr<(WTF::PtrTag)57072, long (JSC::JSGlobalObject*, long, JSC::PropertyName), (WTF::FunctionAttributes)1>::operator()(JSC::JSGlobalObject*, long, JSC::PropertyName) const 24 0x7071b6bba540 JSC::PropertySlot::customGetter(JSC::VM&, JSC::PropertyName) const 25 0x7071b4c03222 JSC::PropertySlot::getValue(JSC::JSGlobalObject*, JSC::PropertyName) const 26 0x7071b4c2e866 JSC::JSValue::get(JSC::JSGlobalObject*, JSC::PropertyName, JSC::PropertySlot&) const 27 0x7071b4c2e692 JSC::JSValue::get(JSC::JSGlobalObject*, JSC::PropertyName) const 28 0x7071b6474766 getByVal 29 0x7071b6474ac7 llint_slow_path_get_by_val 30 0x7071b4b908fd llint_op_get_by_val
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