TestWebKitAPI.TextManipulation.CompleteTextManipulationAddsOverflowHiddenToAvoidBreakingLayout is constantly hitting an assertion on Debug for macOS and iOS. HISTORY: https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.TextManipulation.CompleteTextManipulationAddsOverflowHiddenToAvoidBreakingLayout TestWebKitAPI.TextManipulation.CompleteTextManipulationAddsOverflowHiddenToAvoidBreakingLayout ERROR: Error while launching com.apple.WebKit.Networking: Connection invalid /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm(225) : auto WebKit::ProcessLauncher::launchProcess()::(anonymous class)::operator()(xpc_object_t) const ASSERTION FAILED: !m_scrollDimensionsDirty /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Source/WebCore/rendering/RenderLayerScrollableArea.cpp(1134) : bool WebCore::RenderLayerScrollableArea::hasHorizontalOverflow() const 1 0x15333fed4 WTFCrash 2 0x10684b260 JSC::VMTraps::maybeNeedHandling() const 3 0x10b10dd60 WebCore::RenderLayerScrollableArea::hasHorizontalOverflow() const 4 0x10b10c1b0 WebCore::RenderLayerScrollableArea::hasScrollableHorizontalOverflow() const 5 0x10b10dc38 WebCore::RenderLayerScrollableArea::computeHasCompositedScrollableOverflow() 6 0x10b0a5d90 WebCore::RenderLayer::styleChanged(WebCore::StyleDifference, WebCore::RenderStyle const*) 7 0x10b0806a4 WebCore::RenderLayerModelObject::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) 8 0x10af7055c WebCore::RenderBox::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) 9 0x10af70434 WebCore::RenderBlock::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) 10 0x10af9a49c WebCore::RenderBlockFlow::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) 11 0x10b022618 WebCore::RenderElement::setStyle(WebCore::RenderStyle&&, WebCore::StyleDifference) 12 0x10b385594 WebCore::RenderTreeUpdater::updateRendererStyle(WebCore::RenderElement&, WebCore::RenderStyle&&, WebCore::StyleDifference) 13 0x10b384a30 WebCore::RenderTreeUpdater::updateElementRenderer(WebCore::Element&, WebCore::Style::ElementUpdate const&) 14 0x10b383d7c WebCore::RenderTreeUpdater::updateRenderTree(WebCore::ContainerNode&) 15 0x10b3835f4 WebCore::RenderTreeUpdater::commit(std::__1::unique_ptr<WebCore::Style::Update const, std::__1::default_delete<WebCore::Style::Update const>>) 16 0x1096fef04 WebCore::Document::updateRenderTree(std::__1::unique_ptr<WebCore::Style::Update const, std::__1::default_delete<WebCore::Style::Update const>>) 17 0x1096ff48c WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) 18 0x109700148 WebCore::Document::updateStyleIfNeeded() 19 0x109765898 WebCore::Document::Document(WebCore::LocalFrame*, WebCore::Settings const&, WTF::URL const&, WTF::OptionSet<WebCore::Document::DocumentClass>, unsigned int, WebCore::ProcessQualified<WTF::UUID>)::$_7::operator()() const 20 0x109765844 WTF::Detail::CallableWrapper<WebCore::Document::Document(WebCore::LocalFrame*, WebCore::Settings const&, WTF::URL const&, WTF::OptionSet<WebCore::Document::DocumentClass>, unsigned int, WebCore::ProcessQualified<WTF::UUID>)::$_7, void>::call() 21 0x10835c4a4 WTF::Function<void ()>::operator()() const 22 0x108f06124 WebCore::Timer::fired() 23 0x10a82fd08 WebCore::ThreadTimers::sharedTimerFiredInternal() 24 0x10a8382e0 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const 25 0x10a83828c WTF::Detail::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void>::call() 26 0x10835c4a4 WTF::Function<void ()>::operator()() const 27 0x10a7d9684 WebCore::MainThreadSharedTimer::fired() 28 0x10a8c2a08 WebCore::timerFired(__CFRunLoopTimer*, void*) 29 0x199c7848c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ 30 0x199c78134 __CFRunLoopDoTimer 31 0x199c77c8c __CFRunLoopDoTimers 2023-05-01 12:51:01.385 TestWebKitAPI[47019:125469148] Encountered error: Error Domain=WKErrorDomain Code=5 "JavaScript execution returned a result of an unsupported type" UserInfo={NSLocalizedDescription=JavaScript execution returned a result of an unsupported type} while evaluating script: document.querySelector('a').textContent.trim() 2023-05-01 12:51:01.594 TestWebKitAPI[47019:125469148] Encountered error: Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: Argument 1 ('element') to Window.getComputedStyle must be an instance of Element, WKJavaScriptExceptionColumnNumber=17, WKJavaScriptExceptionSourceURL=undefined, NSLocalizedDescription=A JavaScript exception occurred} while evaluating script: getComputedStyle(document.querySelector('span')).overflowX 2023-05-01 12:51:01.608 TestWebKitAPI[47019:125469148] Encountered error: Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=TypeError: Argument 1 ('element') to Window.getComputedStyle must be an instance of Element, WKJavaScriptExceptionColumnNumber=17, WKJavaScriptExceptionSourceURL=undefined, NSLocalizedDescription=A JavaScript exception occurred} while evaluating script: getComputedStyle(document.querySelector('span')).overflowY LEAK: 1 WebProcessPool LEAK: 1 WebPageProxy /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:230 Value of: !error Actual: false Expected: true /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:3470 Expected equality of these values: "This is a long translation Foo bar" [webView stringByEvaluatingJavaScript:@"document.querySelector('a').textContent.trim()"] Which is: "(null)" /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:230 Value of: !error Actual: false Expected: true /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:3471 Expected equality of these values: "hidden" [webView stringByEvaluatingJavaScript:@"getComputedStyle(document.querySelector('span')).overflowX"] Which is: "(null)" /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:230 Value of: !error Actual: false Expected: true /Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:3472 Expected equality of these values: "auto" [webView stringByEvaluatingJavaScript:@"getComputedStyle(document.querySelector('span')).overflowY"] Which is: "(null)"
<rdar://problem/108753838>
I was able to reproduce the failure at Ventura Debug ToT running the test as follows: run-api-tests TestWebKitAPI.TextManipulation.CompleteTextManipulationAddsOverflowHiddenToAvoidBreakingLayout I was also able to bisect to a regression point. This was failing at 263286@Main, but passed at 263285@Main. So it appears that https://commits.webkit.org/263286@main caused this test to crash.
Pull request: https://github.com/WebKit/WebKit/pull/13426
Committed 263722@main (3a9fba1a0f45): <https://commits.webkit.org/263722@main> Reviewed commits have been landed. Closing PR #13426 and removing active labels.