RESOLVED FIXED305709
REGRESSION(305314@main): [GTK][WPE] ASSERTION FAILED: mode == Verify => !geometryChanged for fast/forms/datalist/data-list-search-input-with-appearance-none.html
https://bugs.webkit.org/show_bug.cgi?id=305709
Summary REGRESSION(305314@main): [GTK][WPE] ASSERTION FAILED: mode == Verify => !geom...
Fujii Hironori
Reported 2026-01-17 16:59:43 PST
[GTK][WPE] ASSERTION FAILED: mode == Verify => !geometryChanged for fast/forms/datalist/data-list-search-input-with-appearance-none.html History: https://results.webkit.org/?suite=layout-tests&test=fast%2Fforms%2Fdatalist%2Fdata-list-search-input-with-appearance-none.html https://build.webkit.org/results/GTK-Linux-64-bit-Debug-Tests/305766@main%20(17883)/fast/forms/datalist/data-list-search-input-with-appearance-none-stderr.txt ASSERTION FAILED: mode == Verify => !geometryChanged ../../../Source/WebCore/rendering/RenderLayer.cpp(2207) : bool WebCore::RenderLayer::updateLayerPosition(WTF::OptionSet<UpdateLayerPositionsFlag>*, UpdateLayerPositionsMode) 1 0x7f1604801813 WebCore::RenderLayer::updateLayerPosition(WTF::OptionSet<WebCore::RenderLayer::UpdateLayerPositionsFlag, (WTF::ConcurrencyTag)0>*, WebCore::RenderLayer::UpdateLayerPositionsMode) 2 0x7f1604879da8 void WebCore::RenderLayer::recursiveUpdateLayerPositions<(WebCore::RenderLayer::UpdateLayerPositionsMode)1>(WTF::OptionSet<WebCore::RenderLayer::UpdateLayerPositionsFlag, (WTF::ConcurrencyTag)0>) 3 0x7f160486c497 void WebCore::RenderLayer::recursiveUpdateLayerPositions<(WebCore::RenderLayer::UpdateLayerPositionsMode)0>(WTF::OptionSet<WebCore::RenderLayer::UpdateLayerPositionsFlag, (WTF::ConcurrencyTag)0>) 4 0x7f160486ccc6 void WebCore::RenderLayer::recursiveUpdateLayerPositions<(WebCore::RenderLayer::UpdateLayerPositionsMode)0>(WTF::OptionSet<WebCore::RenderLayer::UpdateLayerPositionsFlag, (WTF::ConcurrencyTag)0>) 5 0x7f160486ccc6 void WebCore::RenderLayer::recursiveUpdateLayerPositions<(WebCore::RenderLayer::UpdateLayerPositionsMode)0>(WTF::OptionSet<WebCore::RenderLayer::UpdateLayerPositionsFlag, (WTF::ConcurrencyTag)0>) 6 0x7f16047fd3ca WebCore::RenderLayer::updateLayerPositionsAfterLayout(bool, bool) 7 0x7f16037e3221 WebCore::LocalFrameViewLayoutContext::flushUpdateLayerPositions() 8 0x7f16037e300b WebCore::LocalFrameViewLayoutContext::didLayout(bool) 9 0x7f16037c0c38 WebCore::LocalFrameView::didLayout(WTF::WeakPtr<WebCore::RenderElement, WTF::SingleThreadWeakPtrImpl, WTF::RawPtrTraits<WTF::SingleThreadWeakPtrImpl> >, bool) 10 0x7f16037e2c16 WebCore::LocalFrameViewLayoutContext::performLayout(bool) 11 0x7f16037e1994 WebCore::LocalFrameViewLayoutContext::layout(bool) 12 0x7f160256a385 WebCore::Document::updateLayout(WTF::OptionSet<WebCore::LayoutOptions, (WTF::ConcurrencyTag)0>, WebCore::Element const*) 13 0x7f1602569564 WebCore::Document::updateLayoutIgnorePendingStylesheets(WTF::OptionSet<WebCore::LayoutOptions, (WTF::ConcurrencyTag)0>, WebCore::Element const*) 14 0x7f1602ab56a8 WebCore::VisiblePosition::canonicalPosition(WebCore::Position const&) 15 0x7f1602ab2565 WebCore::VisiblePosition::VisiblePosition(WebCore::Position const&, WebCore::Affinity) 16 0x7f15fc2eed54 WebCore::VisibleSelection::visibleStart() const 17 0x7f16029eac99 WebCore::Editor::editorUIUpdateTimerFired() 18 0x7f1602a0d0ae WebCore::Timer::Timer<WebCore::Editor, WebCore::Editor>(WebCore::Editor&, void (WebCore::Editor::*)())::{lambda()#1}::operator()() const 19 0x7f1602a26a0a WTF::Detail::CallableWrapper<WebCore::Timer::Timer<WebCore::Editor, WebCore::Editor>(WebCore::Editor&, void (WebCore::Editor::*)())::{lambda()#1}, void>::call() 20 0x7f15fa9d6253 WTF::Function<void ()>::operator()() const 21 0x7f15fba628ce WebCore::Timer::fired() 22 0x7f1603bc0ce5 WebCore::ThreadTimers::sharedTimerFiredInternal() 23 0x7f1603bc04d1 operator() 24 0x7f1603bd2f98 call 25 0x7f15fa9d6253 WTF::Function<void ()>::operator()() const 26 0x7f1603b54734 WebCore::MainThreadSharedTimer::fired() 27 0x7f1603b5605e WTF::RunLoop::Timer::Timer<WebCore::MainThreadSharedTimer>(WTF::Ref<WTF::RunLoop, WTF::RawPtrTraits<WTF::RunLoop>, WTF::DefaultRefDerefTraits<WTF::RunLoop> >&&, WTF::ASCIILiteral, WebCore::MainThreadSharedTimer*, void (WebCore::MainThreadSharedTimer::*)())::{lambda()#1}::operator()() const 28 0x7f1603b5bbe2 WTF::Detail::CallableWrapper<WTF::RunLoop::Timer::Timer<WebCore::MainThreadSharedTimer>(WTF::Ref<WTF::RunLoop, WTF::RawPtrTraits<WTF::RunLoop>, WTF::DefaultRefDerefTraits<WTF::RunLoop> >&&, WTF::ASCIILiteral, WebCore::MainThreadSharedTimer*, void (WebCore::MainThreadSharedTimer::*)())::{lambda()#1}, void>::call() 29 0x7f15fa9d6253 WTF::Function<void ()>::operator()() const 30 0x7f15fbbfdff8 WTF::RunLoop::Timer::fired() 31 0x7f15eafd969f operator() WebKitWebProcess terminated (pid 2527753) for reason: crash
Attachments
Patch (623 bytes, patch)
2026-02-09 20:25 PST, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2026-02-08 23:17:07 PST
The stderr also contains useful information. > Dirty flags: NeedsPosition(U)pdate, (D)escendantNeedsPositionUpdate, All(C)hildrenNeedPositionUpdate, (A)llDescendantsNeedPositionUpdate > Repaint status: (-)NeedsNormalRepaint, Needs(F)ullRepaint, NeedsFullRepaintFor(P)ositionedMovementLayout > Layer state: has(P)aginatedAncestor, has(F)ixedAncestor, hasFixedContaining(B)lockAncestor, has(T)ransformedAncestor, has(3)DTransformedAncestor, hasComposited(S)crollingAncestor, !is(V)isibilityHiddenOrOpacityZero(), isSelfPainting(L)ayer, (C)omposited, CompositedWithOwn(B)ackingStore > > -D-- - ------VLCB 0x7f15d40d84e0 (0,0) width=800 height=600 RenderView 0x7f15d4092c20 (repaint container: 0x7f15d4092c20) (repaint rects (clipped overflow (0,0) width=800 height=600)) > -D-- - ------VL-- 0x7f15d40d96c0 (0,0) width=800 height=50 RenderBlock 0x7f15d40d9560 HTML 0x7f15d45c1d00 (repaint container: 0x7f15d4092c20) (repaint rects (clipped overflow (-7,-7) width=807 height=64) (outline bounds (0,0) width=800 height=50)) > ---- - ------V--- 0x7f15d42f8900 (3,16) width=278 height=18 RenderBlock 0x7f15d42f87a0 DIV 0x7f15d45ade40 (repaint container: 0x7f15d4092c20) > *---- - -------L-- 0x7f15d42f8bc0 (267,17) width=16 height=16 RenderBlock 0x7f15d42f8a60 DIV 0x7f15d45ae840 > UDC- F ------VL-- 0x7f15d42f96c0 (283,3) width=16 height=44 RenderBlock (relative positioned) 0x7f15d42f9400 DIV 0x7f15d45a8ae0 (repaint container: 0x7f15d4092c20) (repaint rects (clipped overflow (283,3) width=16 height=44)) This message mean that the *-marked 16x16 RenderLayer was position-changed, even though NeedsPositionUpdate flag was off. By using Web Inspector, it's -webkit-search-cancel-button element.
Fujii Hironori
Comment 2 2026-02-08 23:25:11 PST
This issue is caused by the following 3 factors: - border-radius: 1px; - type="search" - list="fruits" border-radius disables appearance. type="search" generates -webkit-search-cancel-button shadow element. list="fruits" generates -webkit-list-button shadow element which has 0 width in Epiphany, but 15px in Safari.
Fujii Hironori
Comment 3 2026-02-09 17:00:13 PST
themeAdwaita.css is using an SVG image as a mask image for -webkit-search-results-decoration pseudo element. https://github.com/WebKit/WebKit/blob/5e608f7de576d40578115982983ba1b9d4177f67/Source/WebCore/css/themeAdwaita.css#L39-L59
Fujii Hironori
Comment 4 2026-02-09 20:25:34 PST
Fujii Hironori
Comment 5 2026-02-09 21:28:00 PST
Fujii Hironori
Comment 6 2026-02-09 21:57:06 PST
*** Bug 305569 has been marked as a duplicate of this bug. ***
EWS
Comment 7 2026-02-17 06:34:28 PST
Committed 307703@main (d4e98dfdcb50): <https://commits.webkit.org/307703@main> Reviewed commits have been landed. Closing PR #58274 and removing active labels.
Radar WebKit Bug Importer
Comment 8 2026-02-17 06:35:12 PST
Note You need to log in before you can comment on or make changes to this bug.