Bug 220542

Summary: [GStreamer] UI<->WebPocess IPC needed for enumerateDevices support
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: WebRTCAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: calvaris, cgarcia, eric.carlson, ews-watchlist, glenn, gustavo, jer.noble, lmoura, menard, philipj, sergio, vjaquez, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=209332
https://bugs.webkit.org/show_bug.cgi?id=250480
Attachments:
Description Flags
Patch eric.carlson: review+

Description Philippe Normand 2021-01-12 07:46:45 PST
1   0x7fc5e08a24e9 WTFCrash                                                                                                                                                                               
2   0x7fc5e3ff57a5 WebCore::ensureGStreamerInitialized()                                                                                                                                                   
3   0x7fc5e60a2049 WebCore::GStreamerCaptureDeviceManager::captureDevices()                                                                                                                               
4   0x7fc5e56dbb78 WebCore::RealtimeMediaSourceCenter::getMediaStreamDevices()                                                                                                                             
5   0x7fc5e3ac1d9d WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList(bool)   
6   0x7fc5e3ac258a /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(+0x21f758a) [0x7fc5e3ac258a]                                                                                               
7   0x7fc5e3aa3539 WebKit::DeviceIdHashSaltStorage::completeDeviceIdHashSaltForOriginCall(WebCore::SecurityOriginData&&, WebCore::SecurityOriginData&&, WTF::CompletionHandler<void (WTF::String&&)>&&)   
8   0x7fc5e3aa3af3 WebKit::DeviceIdHashSaltStorage::deviceIdHashSaltForOrigin(WebCore::SecurityOrigin const&, WebCore::SecurityOrigin const&, WTF::CompletionHandler<void (WTF::String&&)>&&)             
9   0x7fc5e3ac4a01 /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(+0x21f9a01) [0x7fc5e3ac4a01]                                                                                               
10  0x7fc5e3ac26ea /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(+0x21f76ea) [0x7fc5e3ac26ea]                                                                                               
11  0x7fc5e3abe33c WebKit::UserMediaPermissionCheckProxy::complete(WebKit::UserMediaPermissionCheckProxy::PermissionInfo)
12  0x561db936ea20 WebKitBuild/GTK/Release/bin/TestWebKitAPI/TestWebKit(+0x19a20) [0x561db936ea20]                                                                                                         
13  0x7fc5e3ac2aa2 WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WTF::Ref<WebCore::SecurityOrigin, WTF::RawPtrTraits<WebC
ore::SecurityOrigin> >&&, WTF::Ref<WebCore::SecurityOrigin, WTF::RawPtrTraits<WebCore::SecurityOrigin> >&&, WTF::CompletionHandler<void (WebKit::UserMediaPermissionCheckProxy::PermissionInfo)>&&)
14  0x7fc5e3ac4797 WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WTF::Ref<WebCore::SecurityOrigin, WTF::RawPtrTraits<W
ebCore::SecurityOrigin> >&&, WTF::Ref<WebCore::SecurityOrigin, WTF::RawPtrTraits<WebCore::SecurityOrigin> >&&, WTF::CompletionHandler<void (WTF::Vector<WebCore::CaptureDevice, 0ul, WTF::CrashOnOverflow,
16ul, WTF::FastMalloc> const&, WTF::String const&)>&&)                                                                                                                                                     
15  0x7fc5e3af0471 WebKit::WebPageProxy::enumerateMediaDevicesForFrame(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebCore::SecurityOriginData const&, WebCore::SecurityOriginData const&, WTF::Co
mpletionHandler<void (WTF::Vector<WebCore::CaptureDevice, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::String const&)>&&)                                                               
16  0x7fc5e3758123 void IPC::handleMessageAsync<Messages::WebPageProxy::EnumerateMediaDevicesForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierT
ype>, WebCore::SecurityOriginData const&, WebCore::SecurityOriginData const&, WTF::CompletionHandler<void (WTF::Vector<WebCore::CaptureDevice, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WT
F::String const&)>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebCore::SecurityOriginData const&, WebC
ore::SecurityOriginData const&, WTF::CompletionHandler<void (WTF::Vector<WebCore::CaptureDevice, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::String const&)>&&))                        17  0x7fc5e3730488 WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)         
18  0x7fc5e3a09d48 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)                                                                                                               
19  0x7fc5e3b3830f non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)                                                                                       
20  0x7fc5e3a042b5 IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >)                                                                                     
21  0x7fc5e3a04c4f IPC::Connection::dispatchIncomingMessages()                                                                                                                                             
22  0x7fc5e08bce48 WTF::RunLoop::performWork()                                                                                                                                                             
23  0x7fc5e0921c19 /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(+0x164ec19) [0x7fc5e0921c19]                                                                                         
24  0x7fc5e09225cf /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(+0x164f5cf) [0x7fc5e09225cf]                                                                                         
25  0x7fc5dbe9418f g_main_context_dispatch                                                                                                                                                                 
26  0x7fc5dbe94538 /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x56538) [0x7fc5dbe94538]                                                                                                                   
27  0x7fc5dbe94603 g_main_context_iteration                                                                                                                                                                28  0x7fc5e09220cd WTF::RunLoop::cycle(unsigned int)         
29  0x561db939291c WebKitBuild/GTK/Release/bin/TestWebKitAPI/TestWebKit(+0x3d91c) [0x561db939291c]                                                                                                         
30  0x561db936eb57 WebKitBuild/GTK/Release/bin/TestWebKitAPI/TestWebKit(+0x19b57) [0x561db936eb57]                                                                                                         
31  0x7fc5e77ef06e testing::Test::Run()
Comment 1 Philippe Normand 2021-01-12 07:54:01 PST
I'll work on a proper patch, for now disabled the assert: r271402
Comment 2 Philippe Normand 2021-01-14 05:01:50 PST
Created attachment 417611 [details]
Patch
Comment 3 Philippe Normand 2021-01-15 01:46:17 PST
Committed r271513: <https://trac.webkit.org/changeset/271513>
Comment 4 Radar WebKit Bug Importer 2021-01-15 01:47:13 PST
<rdar://problem/73240369>