Fix bug found in AVAudioSessionCaptureDeviceManager::setAudioCaptureDevices() by new libcpp assertions.
thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3 * frame #0: 0x00000001905f5ff0 libsystem_c.dylib`exit frame #1: 0x0000000109fe1a34 WebCore`WebCore::AVAudioSessionCaptureDeviceManager::setAudioCaptureDevices(WTF::Vector<WebCore::AVAudioSessionCaptureDevice, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&&) + 1000 frame #2: 0x0000000109fe0df4 WebCore`WebCore::AVAudioSessionCaptureDeviceManager::refreshAudioCaptureDevices() + 356 frame #3: 0x000000010ab49354 WebCore`WebCore::CoreAudioCaptureSourceFactoryIOS::addExtensiveObserver(WebCore::AudioCaptureFactory::ExtensiveObserver&) + 36 frame #4: 0x00000001065b2040 WebKit`WebKit::UserMediaPermissionRequestManagerProxy::startProcessingUserMediaPermissionRequest(WTF::Ref<WebKit::UserMediaPermissionRequestProxy, WTF::RawPtrTraits<WebKit::UserMediaPermissionRequestProxy> >&&) + 92 frame #5: 0x00000001065b1e70 WebKit`WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame(WTF::ObjectIdentifier<WebCore::UserMediaRequestIdentifierType>, WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WTF::Ref<WebCore::SecurityOrigin, WTF::RawPtrTraits<WebCore::SecurityOrigin> >&&, WTF::Ref<WebCore::SecurityOrigin, WTF::RawPtrTraits<WebCore::SecurityOrigin> >&&, WebCore::MediaStreamRequest&&) + 368 frame #6: 0x00000001065ed4e8 WebKit`WebKit::WebPageProxy::requestUserMediaPermissionForFrame(WTF::ObjectIdentifier<WebCore::UserMediaRequestIdentifierType>, WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebCore::SecurityOriginData const&, WebCore::SecurityOriginData const&, WebCore::MediaStreamRequest&&) + 152 frame #7: 0x000000010694ee78 WebKit`void IPC::handleMessage<Messages::WebPageProxy::RequestUserMediaPermissionForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::UserMediaRequestIdentifierType>, WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebCore::SecurityOriginData const&, WebCore::SecurityOriginData const&, WebCore::MediaStreamRequest&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::UserMediaRequestIdentifierType>, WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebCore::SecurityOriginData const&, WebCore::SecurityOriginData const&, WebCore::MediaStreamRequest&&)) + 148 frame #8: 0x000000010694a4e8 WebKit`WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 7356 frame #9: 0x0000000106a4b20c WebKit`IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 240 frame #10: 0x0000000106601cc8 WebKit`WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 36 frame #11: 0x0000000106a46634 WebKit`IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 220
Pull request: https://github.com/WebKit/WebKit/pull/5119
<rdar://problem/100876110>
Committed 255269@main (9c7a96d51fc1): <https://commits.webkit.org/255269@main> Reviewed commits have been landed. Closing PR #5119 and removing active labels.