Bug 256177 - REGRESSION(263286@main): [ Debug ] ASSERTION FAILED: !m_scrollDimensionsDirty
Summary: REGRESSION(263286@main): [ Debug ] ASSERTION FAILED: !m_scrollDimensionsDirty
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Compositing (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-05-01 13:46 PDT by Robert Jenner
Modified: 2023-05-05 09:03 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Jenner 2023-05-01 13:46:42 PDT
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)"
Comment 1 Radar WebKit Bug Importer 2023-05-01 13:47:05 PDT
<rdar://problem/108753838>
Comment 2 Robert Jenner 2023-05-01 14:30:32 PDT
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.
Comment 3 Simon Fraser (smfr) 2023-05-03 17:07:22 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13426
Comment 4 EWS 2023-05-05 09:03:50 PDT
Committed 263722@main (3a9fba1a0f45): <https://commits.webkit.org/263722@main>

Reviewed commits have been landed. Closing PR #13426 and removing active labels.