RESOLVED FIXED298131
REGRESSION(299129@main): [ iOS Debug ]ASSERTION FAILED: !isInAuxiliaryProcess() || MediaSessionHelper::sharedHelper().presentedApplicationPID()
https://bugs.webkit.org/show_bug.cgi?id=298131
Summary REGRESSION(299129@main): [ iOS Debug ]ASSERTION FAILED: !isInAuxiliaryProcess...
Robert Jenner
Reported 2025-08-29 16:26:49 PDT
299129@main introduced the following assertion failure on iOS Debug: 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 0x34467f338 WebCore::AudioSessionCocoa::tryToSetActiveInternal(bool) 2 0x34ad7d6b4 WebCore::AudioSession::tryToSetActive(bool) 3 0x133605c28 WebKit::UserMediaCaptureManagerProxySourceProxy::audioUnitWillStart() 4 0x34b4c0358 _ZZN7WebCore22CoreAudioCaptureSource18audioUnitWillStartEvENK3$_0clINS_27RealtimeMediaSourceObserverEEEDaRT_ 5 0x34b4c02fc WTF::Detail::CallableWrapper<WebCore::CoreAudioCaptureSource::audioUnitWillStart()::$_0, void, WebCore::RealtimeMediaSourceObserver&>::call(WebCore::RealtimeMediaSourceObserver&) 6 0x34b418b2c WTF::Function<void (WebCore::RealtimeMediaSourceObserver&)>::operator()(WebCore::RealtimeMediaSourceObserver&) const 7 0x34b3faa18 WTF::WeakHashSet<WebCore::RealtimeMediaSourceObserver, WTF::DefaultWeakPtrImpl, (WTF::EnableWeakPtrThreadingAssertions)1>::forEach(WTF::Function<void (WebCore::RealtimeMediaSourceObserver&)> const&) 8 0x34b3fa950 WebCore::RealtimeMediaSource::forEachObserver(WTF::Function<void (WebCore::RealtimeMediaSourceObserver&)> const&) 9 0x34b4b0e04 WebCore::CoreAudioCaptureSource::audioUnitWillStart() 10 0x34b4ac458 _ZZN7WebCore19BaseAudioSharedUnit9startUnitEvENK3$_0clINS_22CoreAudioCaptureSourceEEEDaRT_ 11 0x34b4ac3ac WTF::Detail::CallableWrapper<WebCore::BaseAudioSharedUnit::startUnit()::$_0, void, WebCore::CoreAudioCaptureSource&>::call(WebCore::CoreAudioCaptureSource&) 12 0x34b4a900c WTF::Function<void (WebCore::CoreAudioCaptureSource&)>::operator()(WebCore::CoreAudioCaptureSource&) const 13 0x34b4884d0 void WTF::ThreadSafeWeakHashSet<WebCore::CoreAudioCaptureSource>::forEach<WTF::Function<void (WebCore::CoreAudioCaptureSource&)>>(WTF::Function<void (WebCore::CoreAudioCaptureSource&)> const&) const 14 0x34b488438 WebCore::BaseAudioSharedUnit::forEachClient(WTF::Function<void (WebCore::CoreAudioCaptureSource&)> const&) const 15 0x34b488bfc WebCore::BaseAudioSharedUnit::startUnit() 16 0x34b4889e0 WebCore::BaseAudioSharedUnit::continueStartProducingData() 17 0x34b488630 WebCore::BaseAudioSharedUnit::startProducingData() 18 0x34b4b04e0 WebCore::CoreAudioCaptureSource::startProducingData() 19 0x34b3fa6b0 WebCore::RealtimeMediaSource::start() 20 0x1335fbc20 WebKit::UserMediaCaptureManagerProxySourceProxy::start() 21 0x1335fbb1c 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 0x132a2574c 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 0x132a25650 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 0x132a2561c 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 0x132a255d0 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 0x132a24d54 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 0x132a0d8e4 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 0x132a0d1c8 WebKit::UserMediaCaptureManagerProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 29 0x133340b2c WebKit::UserMediaCaptureManagerProxy::didReceiveMessageFromGPUProcess(IPC::Connection&, IPC::Decoder&) 30 0x1333402e8 WebKit::GPUConnectionToWebProcess::dispatchMessage(IPC::Connection&, IPC::Decoder&) 31 0x132367e8c WebKit::GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) com.apple.WebKit.GPU.Development terminated (pid 88217) for reason: crash LEAK: 6 WebPageProxy
Attachments
Radar WebKit Bug Importer
Comment 1 2025-08-29 16:28:00 PDT
Robert Jenner
Comment 2 2025-08-29 16:45:40 PDT
HISTORY: https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fwebrtc-encoded-transform%2FRTCRtpScriptTransform-bad-chunk.https.html The following 46 tests all seem to be hitting this assertion: fast/html/autopopover-mismatch-crash.html fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html fast/mediastream/RTCPeerConnection-setLocalDescription-offer.html fast/mediastream/RTCPeerConnection-setRemoteDescription-offer.html fast/mediastream/RTCPeerConnection-statsSelector.html fast/mediastream/media-stream-track-interrupted.html fast/mediastream/media-stream-track-muted-event.html fast/mediastream/media-stream-track-muted.html fast/mediastream/mediastream-gc.html fast/mediastream/mediastreamtrack-audio-clone.html fast/mediastream/mediastreamtrack-audio-mute.html fast/mediastream/mediastreamtrack-audiovideo-mutepage.html fast/speechrecognition/ios/start-recognition-then-stop.html fast/speechrecognition/start-recognition-after-gum.html http/tests/navigation/page-cache-mediastream.html http/tests/site-isolation/mediastream/getUserMedia-audio-starts.html http/tests/webrtc/audioSessionInFrames.html http/tests/webrtc/muted-video-mediastream-invisible-autoplay.html http/wpt/audio-output/setSinkId.https.html http/wpt/mediasession/gpuProcessCrash-voiceDetection.html http/wpt/mediasession/setCaptureState-audio-category.html http/wpt/webrtc/sframe-transform-error.html imported/w3c/web-platform-tests/FileAPI/blob/Blob-stream-sync-xhr-crash.html imported/w3c/web-platform-tests/webrtc-encoded-transform/RTCRtpScriptTransform-bad-chunk.https.html imported/w3c/web-platform-tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-clone.https.html imported/w3c/web-platform-tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-metadata.https.html imported/w3c/web-platform-tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-receive-cloned.https.html imported/w3c/web-platform-tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-send-incoming.https.html imported/w3c/web-platform-tests/webrtc-encoded-transform/tentative/RTCEncodedAudioFrame-serviceworker-failure.https.html imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html imported/w3c/web-platform-tests/webrtc/RTCRtpEncodingParameters-codec-opus-stereo.https.html imported/w3c/web-platform-tests/webrtc/legacy/RTCRtpTransceiver-with-OfferToReceive-options.optional.https.html imported/w3c/web-platform-tests/webrtc/receiver-track-live.https.html platform/ios/mediastream/getUserMedia-override-audio-session-interruption.html platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html webrtc/addICECandidate-closed.html webrtc/addTransceiver-then-addTrack.html webrtc/audio-muted-stats.html webrtc/audio-peer-connection-g722.html webrtc/audio-peer-connection-webaudio.html webrtc/audio-replace-track.html webrtc/audio-samplerate-change.html webrtc/audio-sframe.html webrtc/audio-video-element-playing.html webrtc/msection-recycling.html webrtc/receiver-track-should-stay-live-even-if-receiver-is-inactive.html
Robert Jenner
Comment 3 2025-08-29 16:49:20 PDT
I was able to reproduce the assertion at iOS 18 Debug ToT running the test as follows: run-webkit-tests --iOS-simulator --debug <Insert_test_here> I was also able to validate that the regression point is 299129@main, the assertion reproduces at that commit, but not at 299128@main.
Alexey Proskuryakov
Comment 4 2025-09-01 10:08:03 PDT
*** Bug 298106 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
Comment 5 2025-09-01 10:08:59 PDT
From duplicate: Test gardening commit 299337@main (2665ca866f0c): <https://commits.webkit.org/299337@main> But this only marked one test, not 46.
Andy Estes
Comment 6 2025-09-01 11:51:18 PDT
EWS
Comment 7 2025-09-02 08:12:54 PDT
Committed 299430@main (9b38c49f3703): <https://commits.webkit.org/299430@main> Reviewed commits have been landed. Closing PR #50154 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.