Bug 298131
| Summary: | REGRESSION(299129@main): [ iOS Debug ]ASSERTION FAILED: !isInAuxiliaryProcess() || MediaSessionHelper::sharedHelper().presentedApplicationPID() | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Robert Jenner <jenner> |
| Component: | Media | Assignee: | Andy Estes <aestes> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | aestes, bmedina2, webkit-bot-watchers-bugzilla, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=297789 | ||
| Bug Depends on: | |||
| Bug Blocks: | 297948 | ||
Robert Jenner
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/159478772>
Robert Jenner
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
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
*** Bug 298106 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
From duplicate:
Test gardening commit 299337@main (2665ca866f0c): <https://commits.webkit.org/299337@main>
But this only marked one test, not 46.
Andy Estes
Pull request: https://github.com/WebKit/WebKit/pull/50154
EWS
Committed 299430@main (9b38c49f3703): <https://commits.webkit.org/299430@main>
Reviewed commits have been landed. Closing PR #50154 and removing active labels.