<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>275583</bug_id>
          
          <creation_ts>2024-06-17 14:23:10 -0700</creation_ts>
          <short_desc>[GTK][WPE] DRMDeviceNode needs to be ThreadSafeRefCounted</short_desc>
          <delta_ts>2024-07-01 06:34:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Carlos Garcia Campos">cgarcia</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>philn</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2041731</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2024-06-17 14:23:10 -0700</bug_when>
    <thetext>(process:2581181): GLib-GObject-CRITICAL **: 22:13:44.946: g_signal_connect_object: assertion &apos;G_TYPE_CHECK_INSTANCE (instance)&apos; failed
ERROR: Failed to make thread real time: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory
/host/home/nzimmermann/Software/GitRepositories/WebKit/Source/WTF/wtf/linux/RealTimeThreads.cpp(224) : void WTF::RealTimeThreads::realTimeKitMakeThreadRealTime(uint64_t, uint64_t, uint32_t)
ERROR: Failed to make thread real time: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code1: Could not map pid: Process ids could not be found: 2581258
/host/home/nzimmermann/Software/GitRepositories/WebKit/Source/WTF/wtf/linux/RealTimeThreads.cpp(224) : void WTF::RealTimeThreads::realTimeKitMakeThreadRealTime(uint64_t, uint64_t, uint32_t)
ASSERTION FAILED: Unsafe to ref/deref from different threads
m_isOwnedByMainThread == isMainThread()
/host/home/nzimmermann/Software/GitRepositories/WebKit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/RefCounted.h(119) : void WTF::RefCountedBase::applyRefDerefThreadingCheck() const
1   0x7ef967eef599 WTF::RefCountedBase::applyRefDerefThreadingCheck() const
2   0x7ef967f0da70 WTF::RefCountedBase::refAllowingPartiallyDestroyed() const
3   0x7ef967f0db84 WTF::RefCountedBase::ref() const
4   0x7ef9698c3d0b WTF::DefaultRefDerefTraits&lt;WebCore::DRMDeviceNode&gt;::refIfNotNull(WebCore::DRMDeviceNode*)
5   0x7ef9698c24d0 WTF::RefPtr&lt;WebCore::DRMDeviceNode, WTF::RawPtrTraits&lt;WebCore::DRMDeviceNode&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::DRMDeviceNode&gt; &gt;::RefPtr(WTF::RefPtr&lt;WebCore::DRMDeviceNode, WTF::RawPtrTraits&lt;WebCore::DRMDeviceNode&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::DRMDeviceNode&gt; &gt; const&amp;)
6   0x7ef970afbff6 WebCore::DRMDeviceManager::mainDeviceNode(WebCore::DRMDeviceManager::NodeType) const
7   0x7ef970afc070 WebCore::DRMDeviceManager::mainGBMDeviceNode(WebCore::DRMDeviceManager::NodeType) const
8   0x7ef970afce14 WebCore::GBMBufferSwapchain::getBuffer(WebCore::GBMBufferSwapchain::BufferDescription const&amp;)
9   0x7ef970b52985 WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor()
10  0x7ef970b548c5 WebCore::MediaPlayerPrivateGStreamer::triggerRepaint(WTF::GRefPtr&lt;_GstSample&gt;&amp;&amp;)
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2041827</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2024-06-18 00:50:59 -0700</bug_when>
    <thetext>*** Bug 274152 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2041947</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2024-06-18 14:06:47 -0700</bug_when>
    <thetext>Is this actually sufficient for it to be thread safe? It seems like even naively, DRMDeviceNode would be the next one to assert when ref&apos;ing DRMDeviceManager members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2043946</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2024-07-01 05:18:02 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/30341</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2043956</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-07-01 06:34:33 -0700</bug_when>
    <thetext>Committed 280530@main (14d24d0067bb): &lt;https://commits.webkit.org/280530@main&gt;

Reviewed commits have been landed. Closing PR #30341 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>