Bug 246189

Summary: Fix bug found in AVAudioSessionCaptureDeviceManager::setAudioCaptureDevices() by new libcpp assertions
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebCore Misc.Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Chris Dumez 2022-10-06 16:45:57 PDT
Fix bug found in AVAudioSessionCaptureDeviceManager::setAudioCaptureDevices() by new libcpp assertions.
Comment 1 Chris Dumez 2022-10-06 16:46:21 PDT
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
Comment 2 Chris Dumez 2022-10-06 16:50:05 PDT
Pull request: https://github.com/WebKit/WebKit/pull/5119
Comment 3 Radar WebKit Bug Importer 2022-10-06 16:50:35 PDT
<rdar://problem/100876110>
Comment 4 EWS 2022-10-07 07:43:57 PDT
Committed 255269@main (9c7a96d51fc1): <https://commits.webkit.org/255269@main>

Reviewed commits have been landed. Closing PR #5119 and removing active labels.