Bug 265068

Summary: REGRESSION (270199@main?): [ iOS Debug ] ASSERTION FAILED: _maximumUnobscuredSizeOverride in TestWebKitAPI.WKWebViewCloseAllMediaPresentations.ElementFullscreen result of constant crash
Product: WebKit Reporter: Marta Darbinyan <darbinyan>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Marta Darbinyan 2023-11-17 13:46:42 PST
Description:
TestWebKitAPI.WKWebViewCloseAllMediaPresentations.ElementFullscreen is constantly crashing on iOS Debug ToT. 
The possible culprit change is in the following range: https://commits.webkit.org/compare/270197@main...270206@main

Suspecting 270199@main.

History:
https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.WKWebViewCloseAllMediaPresentations.ElementFullscreen

Result:
 TestWebKitAPI.WKWebViewCloseAllMediaPresentations.ElementFullscreen
        2023-11-17 05:08:12.972 TestWebKitAPI[36787:69771339] <CATransformLayer: 0x600003100f20> - changing property masksToBounds in transform-only layer, will have no effect
        2023-11-17 05:08:12.976 TestWebKitAPI[36787:69771339] <CATransformLayer: 0x60000315bca0> - changing property masksToBounds in transform-only layer, will have no effect
        ASSERTION FAILED: _maximumUnobscuredSizeOverride
        /Volumes/Data/worker/Apple-iOS-17-Simulator-Debug-Build/build/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm(3571) : -[WKWebView(WKPrivateIOS) _maximumUnobscuredSizeOverride]
        1   0x11a62ec7c WTFCrash
        2   0x147232390 std::__1::__optional_move_base<unsigned long long, true>::__optional_move_base()
        3   0x148829e40 -[WKWebView(WKPrivateIOS) _maximumUnobscuredSizeOverride]
        4   0x148c83ebc WebKit::WKWebViewState::store(WKWebView*)
        5   0x148c83334 -[WKFullScreenWindowController enterFullScreen:]
        6   0x148b77ad8 WebKit::PageClientImpl::enterFullScreen(WebCore::FloatSize)
        7   0x148e67768 WebKit::WebFullScreenManagerProxy::enterFullScreen(bool, bool, WebCore::FloatSize)
        8   0x149d9d360 auto void IPC::callMemberFunction<WebKit::WebFullScreenManagerProxy, WebKit::WebFullScreenManagerProxy, void (bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>>(WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>&&)::'lambda'(auto&&...)::operator()<bool, bool, WebCore::FloatSize>(auto&&...) const
        9   0x149d9d234 decltype(std::declval<WebKit::WebFullScreenManagerProxy>()(std::declval<bool>(), std::declval<bool>(), std::declval<WebCore::FloatSize>())) std::__1::__invoke[abi:v160006]<void IPC::callMemberFunction<WebKit::WebFullScreenManagerProxy, WebKit::WebFullScreenManagerProxy, void (bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>>(WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>&&)::'lambda'(auto&&...), bool, bool, WebCore::FloatSize>(WebKit::WebFullScreenManagerProxy&&, bool&&, bool&&, WebCore::FloatSize&&)
        10  0x149d9d1f8 decltype(auto) std::__1::__apply_tuple_impl[abi:v160006]<void IPC::callMemberFunction<WebKit::WebFullScreenManagerProxy, WebKit::WebFullScreenManagerProxy, void (bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>>(WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>&&)::'lambda'(auto&&...), std::__1::tuple<bool, bool, WebCore::FloatSize>, 0ul, 1ul, 2ul>(WebKit::WebFullScreenManagerProxy&&, WebKit::WebFullScreenManagerProxy&&, std::__1::__tuple_indices<0ul, 1ul, 2ul>)
        11  0x149d9d19c decltype(auto) std::__1::apply[abi:v160006]<void IPC::callMemberFunction<WebKit::WebFullScreenManagerProxy, WebKit::WebFullScreenManagerProxy, void (bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>>(WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>&&)::'lambda'(auto&&...), std::__1::tuple<bool, bool, WebCore::FloatSize>>(WebKit::WebFullScreenManagerProxy&&, WebKit::WebFullScreenManagerProxy&&)
        12  0x149d9c6e0 void IPC::callMemberFunction<WebKit::WebFullScreenManagerProxy, WebKit::WebFullScreenManagerProxy, void (bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>>(WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(bool, bool, WebCore::FloatSize), std::__1::tuple<bool, bool, WebCore::FloatSize>&&)
        13  0x149d9b650 void IPC::handleMessage<Messages::WebFullScreenManagerProxy::EnterFullScreen, WebKit::WebFullScreenManagerProxy, WebKit::WebFullScreenManagerProxy, void (bool, bool, WebCore::FloatSize)>(IPC::Connection&, IPC::Decoder&, WebKit::WebFullScreenManagerProxy*, void (WebKit::WebFullScreenManagerProxy::*)(bool, bool, WebCore::FloatSize))
        14  0x149d9b3a8 WebKit::WebFullScreenManagerProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
        15  0x14a48224c IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
        16  0x148ccb7c8 WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&)
        17  0x14903086c WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
        18  0x14a45824c IPC::Connection::dispatchMessage(IPC::Decoder&)
        19  0x14a458680 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder>>)
        20  0x14a458cdc IPC::Connection::dispatchIncomingMessages()
        21  0x14a4752fc IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder>>)::$_16::operator()() const
        22  0x14a475258 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder>>)::$_16, void>::call()
        23  0x11a657500 WTF::Function<void ()>::operator()() const
        24  0x11a6ed6a0 WTF::RunLoop::performWork()
        25  0x11a6f1bb4 WTF::RunLoop::performWork(void*)
        26  0x1096a169c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
        27  0x1096a15e4 __CFRunLoopDoSource0
        28  0x1096a0d54 __CFRunLoopDoSources0
        29  0x10969b43c __CFRunLoopRun
        30  0x10969ad28 CFRunLoopRunSpecific
        31  0x114620a98 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
        Child process terminated with signal 11: Segmentation fault
Comment 1 Radar WebKit Bug Importer 2023-11-17 13:47:56 PST
<rdar://problem/118579209>
Comment 2 EWS 2023-12-13 13:37:05 PST
Test gardening commit 272001@main (1f550dd5c82d): <https://commits.webkit.org/272001@main>

Reviewed commits have been landed. Closing PR #21756 and removing active labels.
Comment 3 EWS 2023-12-14 10:37:19 PST
Committed 272056@main (4893ab05c93b): <https://commits.webkit.org/272056@main>

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