Bug 270541

Summary: REGRESSION (274626@main) [ iOS Debug ] 13x ASSERTION FAILED: Completion handler should always be called !m_function (API tests) are constant crashes
Product: WebKit Reporter: Jay Stfleur <j_stfleur>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Jay Stfleur 2024-03-05 14:24:17 PST
Description:

TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo 
TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureVideoCase 
TestWebKitAPI.GetUserMedia.ClearRemoteVideoFrameObjectHeapPixelConformerUnderMemoryPressure 
TestWebKitAPI.SleepDisabler.ChangeSrc 
TestWebKitAPI.SleepDisabler.DisableAudioTrack 
TestWebKitAPI.SleepDisabler.Load 
TestWebKitAPI.SleepDisabler.Loop 
TestWebKitAPI.SleepDisabler.Mute 
TestWebKitAPI.SleepDisabler.Navigate 
TestWebKitAPI.SleepDisabler.Pause 
TestWebKitAPI.SleepDisabler.Unload 
TestWebKitAPI.SleepDisabler.Unmute 
TestWebKitAPI.WKWebViewSuspendAllMediaPlayback.AfterLoading 

are constant crashes on iOS Debug Config after 274626@main


History:

https://results.webkit.org/?suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&suite=api-tests&test=TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo&test=TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureVideoCase&test=TestWebKitAPI.GetUserMedia.ClearRemoteVideoFrameObjectHeapPixelConformerUnderMemoryPressure&test=TestWebKitAPI.SleepDisabler.ChangeSrc&test=TestWebKitAPI.SleepDisabler.DisableAudioTrack&test=TestWebKitAPI.SleepDisabler.Load&test=TestWebKitAPI.SleepDisabler.Loop&test=TestWebKitAPI.SleepDisabler.Mute&test=TestWebKitAPI.SleepDisabler.Navigate&test=TestWebKitAPI.SleepDisabler.Pause&test=TestWebKitAPI.SleepDisabler.Unload&test=TestWebKitAPI.SleepDisabler.Unmute&test=TestWebKitAPI.WKWebViewSuspendAllMediaPlayback.AfterLoading&platform=ios&style=debug&limit=50000&model=iPhone%2012

Diff/Image Diff/Crash Log:

ASSERTION FAILED: Completion handler should always be called
        !m_function
        /Volumes/Data/worker/Apple-iOS-17-Simulator-Debug-Build/build/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/CompletionHandler.h(65) : WTF::CompletionHandler<void (bool, NSError *)>::~CompletionHandler()
        1   0x116e967b8 WTFCrash
        2   0x2861e36d0 WTF::CompletionHandler<void (bool, NSError*)>::~CompletionHandler()
        3   0x2861e3094 WTF::CompletionHandler<void (bool, NSError*)>::~CompletionHandler()
        4   0x2861e3148 WTF::BlockPtr<void (bool, NSError*)> WTF::BlockPtr<void (bool, NSError*)>::fromCallable<WTF::CompletionHandler<void (bool, NSError*)>>(WTF::CompletionHandler<void (bool, NSError*)>)::'lambda'(void const*)::operator()(void const*) const
        5   0x2861e30c0 WTF::BlockPtr<void (bool, NSError*)> WTF::BlockPtr<void (bool, NSError*)>::fromCallable<WTF::CompletionHandler<void (bool, NSError*)>>(WTF::CompletionHandler<void (bool, NSError*)>)::'lambda'(void const*)::__invoke(void const*)
        6   0x1088ed118 _call_dispose_helpers_excp
        7   0x1088edf54 _Block_release
        8   0x2861e53f4 WTF::BlockPtr<void (bool, NSError*)>::~BlockPtr()
        9   0x2861e282c WTF::BlockPtr<void (bool, NSError*)>::~BlockPtr()
        10  0x2861e2788 WebCore::VideoPresentationInterfaceAVKit::presentFullscreen(bool, WTF::CompletionHandler<void (bool, NSError*)>&&)
Comment 1 Radar WebKit Bug Importer 2024-03-05 14:24:47 PST
<rdar://problem/124096708>
Comment 2 Jay Stfleur 2024-03-05 14:51:20 PST
Repro step for test:
run-api-tests --root TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo --ios-simulator --debug -v TestWebKitAPI.SleepDisabler.ChangeSrc