WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
275583
[GTK][WPE] DRMDeviceNode needs to be ThreadSafeRefCounted
https://bugs.webkit.org/show_bug.cgi?id=275583
Summary
[GTK][WPE] DRMDeviceNode needs to be ThreadSafeRefCounted
Nikolas Zimmermann
Reported
2024-06-17 14:23:10 PDT
(process:2581181): GLib-GObject-CRITICAL **: 22:13:44.946: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' 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<WebCore::DRMDeviceNode>::refIfNotNull(WebCore::DRMDeviceNode*) 5 0x7ef9698c24d0 WTF::RefPtr<WebCore::DRMDeviceNode, WTF::RawPtrTraits<WebCore::DRMDeviceNode>, WTF::DefaultRefDerefTraits<WebCore::DRMDeviceNode> >::RefPtr(WTF::RefPtr<WebCore::DRMDeviceNode, WTF::RawPtrTraits<WebCore::DRMDeviceNode>, WTF::DefaultRefDerefTraits<WebCore::DRMDeviceNode> > const&) 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&) 9 0x7ef970b52985 WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor() 10 0x7ef970b548c5 WebCore::MediaPlayerPrivateGStreamer::triggerRepaint(WTF::GRefPtr<_GstSample>&&) ...
Attachments
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2024-06-18 00:50:59 PDT
***
Bug 274152
has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
Comment 2
2024-06-18 14:06:47 PDT
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'ing DRMDeviceManager members.
Carlos Garcia Campos
Comment 3
2024-07-01 05:18:02 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/30341
EWS
Comment 4
2024-07-01 06:34:33 PDT
Committed
280530@main
(14d24d0067bb): <
https://commits.webkit.org/280530@main
> Reviewed commits have been landed. Closing PR #30341 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug