[Webkit-unassigned] [Bug 274152] New: [DRM] DRMDeviceManager::mainDeviceNode() should be made thread-safe

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue May 14 06:56:12 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=274152

            Bug ID: 274152
           Summary: [DRM] DRMDeviceManager::mainDeviceNode() should be
                    made thread-safe
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKitGTK
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: philn at igalia.com
                CC: bugs-noreply at webkitgtk.org

And usable from non-main threads. That's a requirement for the media backend.

ASSERTION FAILED: Unsafe to ref/deref from different threads                                                                                                                                                       
m_isOwnedByMainThread == isMainThread()                                                                                                                                                                            
/var/home/phil/WebKit/WebKitBuild/GTK/Debug/WTF/Headers/wtf/RefCounted.h(119) : void WTF::RefCountedBase::applyRefDerefThreadingCheck() const                                                                      
1   0x7fbc642f5729 WTFCrash                                                                                                                                                                                        
2   0x7fbc6c4c3e8a WTF::RefCountedBase::applyRefDerefThreadingCheck() const                                                                                                                                        
3   0x7fbc6c4e9729 WTF::RefCountedBase::refAllowingPartiallyDestroyed() const                                                                                                                                      
4   0x7fbc6c4e9700 WTF::RefCountedBase::ref() const                                                                                                                                                                
5   0x7fbc6dcdc78e WTF::DefaultRefDerefTraits<WebCore::DRMDeviceNode>::refIfNotNull(WebCore::DRMDeviceNode*)                                                                                                       
6   0x7fbc6dcdc749 WTF::RefPtr<WebCore::DRMDeviceNode, WTF::RawPtrTraits<WebCore::DRMDeviceNode>, WTF::DefaultRefDerefTraits<WebCore::DRMDeviceNode> >::RefPtr(WTF::RefPtr<WebCore::DRMDeviceNode, WTF::RawPtrTrait
s<WebCore::DRMDeviceNode>, WTF::DefaultRefDerefTraits<WebCore::DRMDeviceNode> > const&)                                                                                                                            
7   0x7fbc720921b6 WebCore::DRMDeviceManager::mainDeviceNode(WebCore::DRMDeviceManager::NodeType) const                                                                                                            
8   0x7fbc72092239 WebCore::DRMDeviceManager::mainGBMDeviceNode(WebCore::DRMDeviceManager::NodeType) const                                                                                                         
9   0x7fbc7209c165 WebCore::GBMBufferSwapchain::getBuffer(WebCore::GBMBufferSwapchain::BufferDescription const&)                                                                                                   
10  0x7fbc720e1e4f WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor()                                                                                                                                  
11  0x7fbc720e4024 WebCore::MediaPlayerPrivateGStreamer::triggerRepaint(WTF::GRefPtr<_GstSample>&&)                                                                                                                
12  0x7fbc720ba05b webKitVideoSinkSetMediaPlayerPrivate(_GstElement*, WebCore::MediaPlayerPrivateGStreamer*)::$_2::operator()(_GstElement*, WebCore::MediaPlayerPrivateGStreamer*) const                           
13  0x7fbc720b9e51 webKitVideoSinkSetMediaPlayerPrivate(_GstElement*, WebCore::MediaPlayerPrivateGStreamer*)::$_2::__invoke(_GstElement*, WebCore::MediaPlayerPrivateGStreamer*)                                   
14  0x7fbc5ae70056 ffi_call_unix64                                                                                                                                                                                 
15  0x7fbc5ae6c6a0 ffi_call_int.lto_priv.0                                                                                                                                                                         
16  0x7fbc5ae6f4ee ffi_call                                                                                                                                                                                        
17  0x7fbc64def5e0 g_cclosure_marshal_generic_va                                                                                                                                                                   
18  0x7fbc64e08e14 signal_emit_valist_unlocked                                                                                                                                                                     
19  0x7fbc64e08f21 g_signal_emit_valist                                                                                                                                                                            
20  0x7fbc64e08fe3 g_signal_emit                                                                                                                                                                                   
21  0x7fbc5d8695bc gst_app_sink_preroll                                                                                                                                                                            
22  0x7fbc5d813cd4 gst_base_sink_do_preroll                                                                                                                                                                        
23  0x7fbc5d814694 gst_base_sink_do_sync                                                                                                                                                                           
24  0x7fbc5d81587b gst_base_sink_chain_unlocked                                                                                                                                                                    
25  0x7fbc5d8182d7 gst_base_sink_chain_main                                                                                                                                                                        
26  0x7fbc5d70929e gst_pad_chain_data_unchecked                                                                                                                                                                    
27  0x7fbc5d70b66e gst_pad_push_data                                                                                                                                                                               
28  0x7fbc5d713058 gst_pad_push                                                                                                                                                                                    
29  0x7fbc5d6f5406 gst_proxy_pad_chain_default                                                                                                                                                                     
30  0x7fbc5d70929e gst_pad_chain_data_unchecked                                                                                                                                                                    
31  0x7fbc5d70b66e gst_pad_push_data

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240514/9ec0a3d8/attachment-0001.htm>


More information about the webkit-unassigned mailing list