Bug 274152
| Summary: | [DRM] DRMDeviceManager::mainDeviceNode() should be made thread-safe | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Philippe Normand <philn> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | CC: | bugs-noreply, webkit-bug-importer |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Philippe Normand
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
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Philippe Normand
*** This bug has been marked as a duplicate of bug 275583 ***