271260@main: good 271263@main: bad Buildbot: builder WinCairo-64-bit-Debug-Tests build 21402 : 271263@main https://build.webkit.org/#/builders/727/builds/21402 Regressions: Unexpected crashes (3) compositing/geometry/fixed-position-composited-page-scale-scroll.html [ Crash ] fast/visual-viewport/zoomed-scroll-into-view-fixed.html [ Crash ] fast/visual-viewport/zoomed-scroll-to-anchor-in-position-fixed.html [ Crash ] https://build.webkit.org/results/WinCairo-64-bit-Debug-Tests/271263@main%20(21402)/compositing/geometry/fixed-position-composited-page-scale-scroll-stderr.txt ASSERTION FAILED: m_repaintRectsValid => m_repaintRects.clippedOverflowRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint().renderer.get()) C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebCore\rendering/RenderLayer.cpp(1275) : recursiveUpdateLayerPositionsAfterScroll 1 00007FF8F5DF1B99 WTFCrash 2 00007FF8DC981EB0 WebCore::RenderLayer::recursiveUpdateLayerPositionsAfterScroll 3 00007FF8DC9821E3 WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll 4 00007FF8DC19B645 WebCore::LocalFrameView::updateLayerPositionsAfterScrolling 5 00007FF8DC39AC21 WebCore::ScrollView::completeUpdatesAfterScrollTo 6 00007FF8DC39AF07 WebCore::ScrollView::scrollTo 7 00007FF8DC1A1274 WebCore::LocalFrameView::scrollTo 8 00007FF8DC39A735 WebCore::ScrollView::setScrollOffset 9 00007FF8DC3A1B9E WebCore::ScrollableArea::scrollPositionChanged 10 00007FF8DC3A20E4 WebCore::ScrollableArea::setScrollPositionFromAnimation 11 00007FF8DC38B5F9 WebCore::ScrollAnimator::notifyPositionChanged 12 00007FF8DC38AC45 WebCore::ScrollAnimator::setCurrentPosition 13 00007FF8DC38AB9C WebCore::ScrollAnimator::scrollToPositionWithoutAnimation 14 00007FF8DC3A153B WebCore::ScrollableArea::scrollToPositionWithoutAnimation 15 00007FF8DC39BD66 WebCore::ScrollView::updateScrollbars::<lambda_0>::operator() 16 00007FF8DC398B84 WebCore::ScrollView::updateScrollbars 17 00007FF8DC39B56B WebCore::ScrollView::setScrollPosition 18 00007FF8DC18B214 WebCore::LocalFrameView::setScrollPosition 19 00007FF8DC398F7B WebCore::ScrollView::setContentsScrollPosition 20 00007FF8DC17E6A3 WebCore::LocalDOMWindow::scrollTo 21 00007FF8DC17E777 WebCore::LocalDOMWindow::scrollTo 22 00007FF8D998DC0C WebCore::jsLocalDOMWindowInstanceFunction_scrollTo2Body::<lambda_1>::operator() 23 00007FF8D998DBBF WebCore::toJS<WebCore::IDLUndefined,`lambda at C:\BW\WinCairo-64-bit-Debug-Build\build\WebKitBuild\Debug\WebCore\DerivedSources\JSLocalDOMWindow.cpp:27186:5'> 24 00007FF8D998DA4C WebCore::jsLocalDOMWindowInstanceFunction_scrollTo2Body 25 00007FF8D998D382 WebCore::jsLocalDOMWindowInstanceFunction_scrollToOverloadDispatcher 26 00007FF8D998D110 WebCore::IDLOperation<WebCore::JSLocalDOMWindow>::call<&WebCore::jsLocalDOMWindowInstanceFunction_scrollToOverloadDispatcher,0> 27 00007FF8D997DDA4 WebCore::jsLocalDOMWindowInstanceFunction_scrollTo 28 00000207B11F115E (null) ERROR: 0000019D0029DED0 - [PID=5684] WebProcessProxy::didClose (web process crash) C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1098) : didClose ERROR: 0000019D0029DED0 - [PID=5684] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1106) : processDidTerminateOrFailedToLaunch ERROR: 0000019D001CA240 - [pageProxyID=181, webPageID=182, PID=5684] WebPageProxy::processDidTerminate: (pid 5684), reason=Crash C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebPageProxy.cpp(9138) : resetStateAfterProcessTermination ERROR: 0000019D001CA240 - [pageProxyID=181, webPageID=182, PID=5684] WebPageProxy::dispatchProcessDidTerminate: reason=Crash C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebPageProxy.cpp(9196) : dispatchProcessDidTerminate WebProcess terminated (pid 5684) for reason: crash
GTK port is also crashing. Buildbot: builder GTK-Linux-64-bit-Debug-Tests build 11839 : 271261@main https://build.webkit.org/#/builders/63/builds/11839 ASSERTION FAILED: m_repaintRectsValid => m_repaintRects.clippedOverflowRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint().renderer.get()) /app/webkit/Source/WebCore/rendering/RenderLayer.cpp(1275) : void WebCore::RenderLayer::recursiveUpdateLayerPositionsAfterScroll(WebCore::RenderGeometryMap*, WTF::OptionSet<UpdateLayerPositionsAfterScrollFlag>) 1 0x7efeca54f773 WTFCrash 2 0x7efedb362a88 WebCore::RenderLayer::recursiveUpdateLayerPositionsAfterScroll(WebCore::RenderGeometryMap*, WTF::OptionSet<WebCore::RenderLayer::UpdateLayerPositionsAfterScrollFlag>) 3 0x7efedb3625ff WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll() 4 0x7efeda78fd97 WebCore::LocalFrameView::updateLayerPositionsAfterScrolling() 5 0x7efedaa32feb WebCore::ScrollView::completeUpdatesAfterScrollTo(WebCore::IntSize const&) 6 0x7efedaa32f9f WebCore::ScrollView::scrollTo(WebCore::IntPoint const&) 7 0x7efeda79529e WebCore::LocalFrameView::scrollTo(WebCore::IntPoint const&) 8 0x7efedaa32947 WebCore::ScrollView::setScrollOffset(WebCore::IntPoint const&) 9 0x7efedaa3a6c7 WebCore::ScrollableArea::scrollPositionChanged(WebCore::IntPoint const&) 10 0x7efedaa3ac1b WebCore::ScrollableArea::setScrollPositionFromAnimation(WebCore::IntPoint const&) 11 0x7efedaa25737 WebCore::ScrollAnimator::notifyPositionChanged(WebCore::FloatSize const&) 12 0x7efedaa25682 WebCore::ScrollAnimator::setCurrentPosition(WebCore::FloatPoint const&, WebCore::ScrollAnimator::NotifyScrollableArea) 13 0x7efedaa24d8d WebCore::ScrollAnimator::scrollToPositionWithoutAnimation(WebCore::FloatPoint const&, WebCore::ScrollClamping) 14 0x7efedaa3a065 WebCore::ScrollableArea::scrollToPositionWithoutAnimation(WebCore::FloatPoint const&, WebCore::ScrollClamping) 15 0x7efedaa337fd operator() 16 0x7efedaa34b33 WebCore::ScrollView::updateScrollbars(WebCore::IntPoint const&) 17 0x7efedaa33380 WebCore::ScrollView::setScrollPosition(WebCore::IntPoint const&, WebCore::ScrollPositionChangeOptions const&) 18 0x7efeda78d660 WebCore::LocalFrameView::setScrollPosition(WebCore::IntPoint const&, WebCore::ScrollPositionChangeOptions const&) 19 0x7efedaa315cf WebCore::ScrollView::setContentsScrollPosition(WebCore::IntPoint const&, WebCore::ScrollPositionChangeOptions const&) 20 0x7efeda77660e WebCore::LocalDOMWindow::scrollTo(WebCore::ScrollToOptions const&, WebCore::ScrollClamping, WebCore::ScrollSnapPointSelectionMethod, std::optional<WebCore::FloatSize>) const 21 0x7efeda77617a WebCore::LocalDOMWindow::scrollTo(double, double, WebCore::ScrollClamping) const 22 0x7efed7618a37 operator() 23 0x7efed768600c toJS<WebCore::IDLUndefined, WebCore::jsLocalDOMWindowInstanceFunction_scrollTo2Body(JSC::JSGlobalObject*, JSC::CallFrame*, IDLOperation<JSLocalDOMWindow>::ClassParameter)::<lambda()> > 24 0x7efed7618dab jsLocalDOMWindowInstanceFunction_scrollTo2Body 25 0x7efed7619046 jsLocalDOMWindowInstanceFunction_scrollToOverloadDispatcher 26 0x7efed768629c call<WebCore::jsLocalDOMWindowInstanceFunction_scrollToOverloadDispatcher> 27 0x7efed76190b8 jsLocalDOMWindowInstanceFunction_scrollTo 28 0x7efe74408038 ??? WebKitWebProcess terminated (pid 5332) for reason: crash
Created attachment 468858 [details] Patch to enable ForceCompositingMode for WinCairo Enabling ForceCompositingMode for WinCairo resovles the assertion failure. This seems to be the reason why Mac WK2 and WPE don't crash.
Mac WK1 doensn't crash because it skips the assertions. See bug#188122. GTK and WinCairo should do the same.
Pull request: https://github.com/WebKit/WebKit/pull/21254
I am removing this assertion in https://github.com/WebKit/WebKit/pull/21241