Bug 281041

Summary: REGRESSION: ASSERTION FAILED: repaintRects() in WebCore::RenderLayer::recursiveUpdateLayerPositions
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: Layout and RenderingAssignee: Matt Woodrow <mattwoodrow>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, mattwoodrow, simon.fraser, webkit-bug-importer, zalan, zsun
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=280316
https://bugs.webkit.org/show_bug.cgi?id=276706
https://bugs.webkit.org/show_bug.cgi?id=281326

Fujii Hironori
Reported 2024-10-08 00:49:36 PDT
REGRESSION: [Win] ASSERTION FAILED: repaintRects() in WebCore::RenderLayer::recursiveUpdateLayerPositions Windows port Debug build layout tests are crashing. Regressions: Unexpected crashes (3) animations/animation-direction-reverse-hardware-opacity.html [ Crash ] animations/animation-followed-by-two-transitions.html [ Crash ] imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html [ Crash ] ASSERTION FAILED: repaintRects() C:\ews\work\build\Source\WebCore\rendering/RenderLayer.cpp(1213) : auto WebCore::RenderLayer::recursiveUpdateLayerPositions(RenderElement::LayoutIdentifier, OptionSet<UpdateLayerPositionsFlag>, CanUseSimplifiedRepaintPass)::(anonymous class)::operator()(bool) const 1 00007FFBC6F041CD WebCore::RenderLayer::recursiveUpdateLayerPositions<1>::<lambda_1>::operator() 2 00007FFBC6F03308 WebCore::RenderLayer::recursiveUpdateLayerPositions<1> 3 00007FFBC6F03A12 WebCore::RenderLayer::recursiveUpdateLayerPositions<1> 4 00007FFBC6F03A12 WebCore::RenderLayer::recursiveUpdateLayerPositions<1> 5 00007FFBC6EF1B16 WebCore::RenderLayer::recursiveUpdateLayerPositions<0> 6 00007FFBC6ECEF1C WebCore::RenderLayer::updateLayerPositionsAfterStyleChange 7 00007FFBC664CE2B WebCore::LocalFrameView::updateCompositingLayersAfterStyleChange 8 00007FFBC571C6B7 WebCore::Document::resolveStyle 9 00007FFBC571CDBC WebCore::Document::updateStyleIfNeeded 10 00007FFBC571D164 WebCore::Document::updateLayout 11 00007FFBC6660B15 WebCore::LocalFrameView::updateLayoutAndStyleIfNeededRecursive 12 00007FFBC66E2B22 WebCore::Page::layoutIfNeeded 13 00007FFBC66E392C WebCore::Page::updateRendering 14 00007FFBCFF70350 WebKit::WebPage::updateRendering 15 00007FFBCE3D4F32 WebKit::DrawingAreaWC::updateRendering 16 00007FFBCE3DDF19 std::invoke<void (WebKit::DrawingAreaWC::*&)(),WebKit::DrawingAreaWC *&> 17 00007FFBCE3DDE9D std::_Invoker_ret<std::_Unforced>::_Call<void (WebKit::DrawingAreaWC::*&)(),WebKit::DrawingAreaWC *&> 18 00007FFBCE3DDE59 std::_Call_binder<std::_Unforced,0,void (WebKit::DrawingAreaWC::*)(),std::tuple<WebKit::DrawingAreaWC *>,std::tuple<> > 19 00007FFBCE3DDDF1 std::_Binder<std::_Unforced,void (WebKit::DrawingAreaWC::*&)(),WebKit::DrawingAreaWC *>::operator()<> 20 00007FFBCE3DDCD7 WTF::Detail::CallableWrapper<std::_Binder<std::_Unforced,void (WebKit::DrawingAreaWC::*&)(),WebKit::DrawingAreaWC *>,void>::call 21 00007FFBCE37145E WTF::Function<void ()>::operator() 22 00007FFBCE3DC737 WebCore::Timer::fired 23 00007FFBC68D86F7 WebCore::ThreadTimers::sharedTimerFiredInternal 24 00007FFBC68DAB8E WebCore::ThreadTimers::setSharedTimer::<lambda_0>::operator() 25 00007FFBC68DAB47 WTF::Detail::CallableWrapper<`lambda at C:\ews\work\build\Source\WebCore\platform\ThreadTimers.cpp:68:41',void>::call 26 00007FFBC289EB7E WTF::Function<void ()>::operator() 27 00007FFBC6880C3D WebCore::MainThreadSharedTimer::fired 28 00007FFBC29DE648 WebCore::TimerWindowWndProc 29 00007FFC44ACEF5C CallWindowProcW 30 00007FFC44ACE684 DispatchMessageW 31 00007FFBCD314B32 WTF::RunLoop::run C:\ews\work\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1241) : virtual void WebKit::WebProcessProxy::didClose(IPC::Connection &) ERROR: 00000195D1726C60 - [PID=10044] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash C:\ews\work\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1249) : void WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch(ProcessTerminationReason) ERROR: 00000195D16FE800 - [pageProxyID=8, webPageID=9, PID=10044] WebPageProxy::processDidTerminate: (pid 10044), reason=Crash C:\ews\work\build\Source\WebKit\UIProcess/WebPageProxy.cpp(10433) : void WebKit::WebPageProxy::resetStateAfterProcessTermination(ProcessTerminationReason) ERROR: 00000195D16FE800 - [pageProxyID=8, webPageID=9, PID=10044] WebPageProxy::dispatchProcessDidTerminate: reason=Crash C:\ews\work\build\Source\WebKit\UIProcess/WebPageProxy.cpp(10495) : void WebKit::WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason) WebProcess terminated (pid 10044) for reason: crash #CRASHED - WebProcess (pid 10044)
Attachments
Fujii Hironori
Comment 1 2024-10-08 00:49:52 PDT
284805@main: bad 284796@main: good 284802@main (bug#280316) seems to be a culprit.
Fujii Hironori
Comment 3 2024-10-09 19:00:02 PDT
This is not Windows port specific. Mac port Debug build uses ENABLE_CONJECTURE_ASSERT=1. This crash is reproducible with __XPC_ENABLE_WEBKIT_CONJECTURE_ASSERT. > ./Tools/Scripts/run-webkit-tests --debug --no-build --additional-env-var=__XPC_ENABLE_WEBKIT_CONJECTURE_ASSERT=1 animations/animation-direction-reverse-hardware-opacity.html animations/animation-followed-by-two-transitions.html imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html
Fujii Hironori
Comment 4 2024-10-09 21:45:55 PDT
284780@main added the conjecture assertion.
zsun
Comment 5 2024-10-10 01:45:50 PDT
*** Bug 281207 has been marked as a duplicate of this bug. ***
Radar WebKit Bug Importer
Comment 6 2024-10-10 18:47:36 PDT
Matt Woodrow
Comment 7 2024-10-10 18:49:56 PDT
EWS
Comment 8 2024-10-14 16:06:47 PDT
Committed 285155@main (b37bf876c9b7): <https://commits.webkit.org/285155@main> Reviewed commits have been landed. Closing PR #35021 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.