Bug 298106

Summary: REGRESSION(299128@main): [ iOS Debug ] ASSERTION FAILED: !isInAuxiliaryProcess() || MediaSessionHelper::sharedHelper().presentedApplicationPID() is constantly hitting http/wpt/mediasession/gpuProcessCrash-voiceDetection.html
Product: WebKit Reporter: Bryan Medina <bmedina2>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Crash log none

Bryan Medina
Reported 2025-08-29 10:54:34 PDT
Created attachment 476559 [details] Crash log http/wpt/mediasession/gpuProcessCrash-voiceDetection.html is constantly crashing on iOS Debug due to an assertion failure. HISTORY: https://results.webkit.org/?suite=layout-tests&test=http%2Fwpt%2Fmediasession%2FgpuProcessCrash-voiceDetection.html CRASH LOG: No crash log found for com.apple.WebKit.GPU.Development:31117. stdout: stderr: ASSERTION FAILED: !isInAuxiliaryProcess() || MediaSessionHelper::sharedHelper().presentedApplicationPID() /Volumes/Data/worker/Apple-iOS-18-Simulator-Debug-Build/build/Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm(109) : virtual bool WebCore::AudioSessionCocoa::tryToSetActiveInternal(bool) 1 0x1432af338 WebCore::AudioSessionCocoa::tryToSetActiveInternal(bool) 2 0x1499a3cd4 WebCore::AudioSession::tryToSetActive(bool) 3 0x12f0b11bc WebKit::UserMediaCaptureManagerProxySourceProxy::audioUnitWillStart() 4 0x14a0e6978 _ZZN7WebCore22CoreAudioCaptureSource18audioUnitWillStartEvENK3$_0clINS_27RealtimeMediaSourceObserverEEEDaRT_ 5 0x14a0e691c WTF::Detail::CallableWrapper<WebCore::CoreAudioCaptureSource::audioUnitWillStart()::$_0, void, WebCore::RealtimeMediaSourceObserver&>::call(WebCore::RealtimeMediaSourceObserver&) 6 0x14a03f14c WTF::Function<void (WebCore::RealtimeMediaSourceObserver&)>::operator()(WebCore::RealtimeMediaSourceObserver&) const 7 0x14a021038 WTF::WeakHashSet<WebCore::RealtimeMediaSourceObserver, WTF::DefaultWeakPtrImpl, (WTF::EnableWeakPtrThreadingAssertions)1>::forEach(WTF::Function<void (WebCore::RealtimeMediaSourceObserver&)> const&) 8 0x14a020f70 WebCore::RealtimeMediaSource::forEachObserver(WTF::Function<void (WebCore::RealtimeMediaSourceObserver&)> const&) 9 0x14a0d7424 WebCore::CoreAudioCaptureSource::audioUnitWillStart() 10 0x14a0d2a78 _ZZN7WebCore19BaseAudioSharedUnit9startUnitEvENK3$_0clINS_22CoreAudioCaptureSourceEEEDaRT_ 11 0x14a0d29cc WTF::Detail::CallableWrapper<WebCore::BaseAudioSharedUnit::startUnit()::$_0, void, WebCore::CoreAudioCaptureSource&>::call(WebCore::CoreAudioCaptureSource&) 12 0x14a0cf62c WTF::Function<void (WebCore::CoreAudioCaptureSource&)>::operator()(WebCore::CoreAudioCaptureSource&) const 13 0x14a0aeaf0 void WTF::ThreadSafeWeakHashSet<WebCore::CoreAudioCaptureSource>::forEach<WTF::Function<void (WebCore::CoreAudioCaptureSource&)>>(WTF::Function<void (WebCore::CoreAudioCaptureSource&)> const&) const 14 0x14a0aea58 WebCore::BaseAudioSharedUnit::forEachClient(WTF::Function<void (WebCore::CoreAudioCaptureSource&)> const&) const 15 0x14a0af21c WebCore::BaseAudioSharedUnit::startUnit() 16 0x14a0af000 WebCore::BaseAudioSharedUnit::continueStartProducingData() 17 0x14a0aec50 WebCore::BaseAudioSharedUnit::startProducingData() 18 0x14a0d6b00 WebCore::CoreAudioCaptureSource::startProducingData() 19 0x14a020cd0 WebCore::RealtimeMediaSource::start() 20 0x12f0a71b4 WebKit::UserMediaCaptureManagerProxySourceProxy::start() 21 0x12f0a70b0 WebKit::UserMediaCaptureManagerProxy::startProducingData(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>) 22 0x12e4d0cb4 auto void IPC::callMemberFunction<WebKit::UserMediaCaptureManagerProxy, WebKit::UserMediaCaptureManagerProxy, void (WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>>(WebKit::UserMediaCaptureManagerProxy*, void (WebKit::UserMediaCaptureManagerProxy::*)(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>&&)::'lambda'(auto&&...)::operator()<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>(auto&&...) const 23 0x12e4d0bb8 decltype(std::declval<WebKit::UserMediaCaptureManagerProxy>()(std::declval<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>(), std::declval<WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>())) std::__1::__invoke[abi:sn190102]<void IPC::callMemberFunction<WebKit::UserMediaCaptureManagerProxy, WebKit::UserMediaCaptureManagerProxy, void (WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>>(WebKit::UserMediaCaptureManagerProxy*, void (WebKit::UserMediaCaptureManagerProxy::*)(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>&&)::'lambda'(auto&&...), WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>(WebKit::UserMediaCaptureManagerProxy&&, WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>&&, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>&&) 24 0x12e4d0b84 decltype(auto) std::__1::__apply_tuple_impl[abi:sn190102]<void IPC::callMemberFunction<WebKit::UserMediaCaptureManagerProxy, WebKit::UserMediaCaptureManagerProxy, void (WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>>(WebKit::UserMediaCaptureManagerProxy*, void (WebKit::UserMediaCaptureManagerProxy::*)(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>&&)::'lambda'(auto&&...), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>, 0ul, 1ul>(WebKit::UserMediaCaptureManagerProxy&&, WebKit::UserMediaCaptureManagerProxy&&, std::__1::__tuple_indices<0ul, 1ul>) 25 0x12e4d0b38 decltype(auto) std::__1::apply[abi:sn190102]<void IPC::callMemberFunction<WebKit::UserMediaCaptureManagerProxy, WebKit::UserMediaCaptureManagerProxy, void (WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>>(WebKit::UserMediaCaptureManagerProxy*, void (WebKit::UserMediaCaptureManagerProxy::*)(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>&&)::'lambda'(auto&&...), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>>(WebKit::UserMediaCaptureManagerProxy&&, WebKit::UserMediaCaptureManagerProxy&&) 26 0x12e4d02bc void IPC::callMemberFunction<WebKit::UserMediaCaptureManagerProxy, WebKit::UserMediaCaptureManagerProxy, void (WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>>(WebKit::UserMediaCaptureManagerProxy*, void (WebKit::UserMediaCaptureManagerProxy::*)(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>>&&) 27 0x12e4b8e4c void IPC::handleMessage<Messages::UserMediaCaptureManagerProxy::StartProducingData, IPC::Connection, WebKit::UserMediaCaptureManagerProxy, WebKit::UserMediaCaptureManagerProxy, void (WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>)>(IPC::Connection&, IPC::Decoder&, WebKit::UserMediaCaptureManagerProxy*, void (WebKit::UserMediaCaptureManagerProxy::*)(WTF::ObjectIdentifierGeneric<WebCore::RealtimeMediaSourceIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>, WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long>)) 28 0x12e4b8730 WebKit::UserMediaCaptureManagerProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 29 0x12edec0c0 WebKit::UserMediaCaptureManagerProxy::didReceiveMessageFromGPUProcess(IPC::Connection&, IPC::Decoder&) 30 0x12edeb87c WebKit::GPUConnectionToWebProcess::dispatchMessage(IPC::Connection&, IPC::Decoder&) 31 0x12de13818 WebKit::GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) com.apple.WebKit.GPU.Development terminated (pid 31117) for reason: crash LEAK: 1 WebPageProxy
Attachments
Crash log (13.88 KB, text/plain)
2025-08-29 10:54 PDT, Bryan Medina
no flags
Radar WebKit Bug Importer
Comment 1 2025-08-29 10:55:01 PDT
Bryan Medina
Comment 2 2025-08-29 11:22:51 PDT
I was able to reproduce the crash locally on my device running iOS 18 Simulator Debug ToT using the following command: run-webkit-tests http/wpt/mediasession/gpuProcessCrash-voiceDetection.html --ipad-simulator
Bryan Medina
Comment 3 2025-08-29 11:49:51 PDT
Referring to the history, it is shown that the tests were failing somewhere between 299127@main and 297215@main. Using reproduction steps above, I found that the tests were passing at 299127@main, but failed at 299128@main. At this time, I believe that the regression point is 299128@main.
EWS
Comment 4 2025-08-29 11:56:25 PDT
Test gardening commit 299337@main (2665ca866f0c): <https://commits.webkit.org/299337@main> Reviewed commits have been landed. Closing PR #50074 and removing active labels.
Alexey Proskuryakov
Comment 5 2025-09-01 10:08:03 PDT
*** This bug has been marked as a duplicate of bug 298131 ***
Note You need to log in before you can comment on or make changes to this bug.