[Bug 711550] New: appsrc deadlock
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Nov 6 06:23:16 PST 2013
https://bugzilla.gnome.org/show_bug.cgi?id=711550
GStreamer | gst-plugins-base | 1.2.0
Summary: appsrc deadlock
Classification: Platform
Product: GStreamer
Version: 1.2.0
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: tcdgreenwood at hotmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
We have an application using rtpbin and appsrc which leaves us with a deadlock.
From investigations I have found an example of some threads that lock. It
seems to me that the deadlock is between the appsrc priv->mutex lock and the
stream lock. I have reproduced this on 1.2.0 and 1.0.10. The appsrc line is:
g_mutex_lock (&priv->mutex);
The line of code from the pad is:
GST_PAD_STREAM_LOCK (pad);
I think the source of the issue is that appsrc list locking priv->mutex before
calling gst_app_src_do_negotiate. As such I am developing a patch that avoids
this locking, I think that the priv->mutex is just trying to protect variables
such as the caps and new_caps flags. In this way I think that I can call
do_negotiate outside of the lock as long as I ensure that the new_caps flag is
acted on after caps is changed. Is there any reason why do_negotiate needs to
be inside the priv->mutex lock for appsrc? I understand that it should be
thread safe so it's just ensuring that the appsrc logic is correct and caps
changes are responded to on the next check. This plan would also follow some
of the other logic in appsrc where it unlocks before making callbacks to the
application.
Here are the full back traces of the two threads that appear deadlocked and the
relevant mutexes
Thread 66 (Thread 0x7f185c4ca700 (LWP 15312)):
#0 0x00007f18f366b054 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x00007f18f36663a3 in _L_lock_892 () from /lib64/libpthread.so.0
#2 0x00007f18f3666287 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x00007f18e1eafc19 in gst_pad_send_event_unchecked (pad=0x7f18a000f290,
event=0x7f18a4003f00, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4782
#4 0x00007f18e1eaef70 in gst_pad_push_event_unchecked (pad=0x7f18a000ee30,
event=0x7f18a4003f00, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4515
#5 0x00007f18e1eaaec9 in push_sticky (pad=0x7f18a000ee30, ev=0x7f185c4c8b30,
user_data=0x7f185c4c8ba0) at gstpad.c:3286
#6 0x00007f18e1ea2ec9 in events_foreach (pad=0x7f18a000ee30,
func=0x7f18e1eaae06 <push_sticky>, user_data=0x7f185c4c8ba0) at gstpad.c:514
#7 0x00007f18e1eab1c0 in check_sticky (pad=0x7f18a000ee30) at gstpad.c:3334
#8 0x00007f18e1eaf4a7 in gst_pad_push_event (pad=0x7f18a000ee30,
event=0x7f18a4003f00) at gstpad.c:4636
#9 0x00007f185fdcdb8e in gst_rtp_jitter_buffer_sink_event (pad=0x7f18a000f060,
parent=0x7f18b418b540, event=0x7f18a4003f00) at gstrtpjitterbuffer.c:1056
#10 0x00007f18e1eafe64 in gst_pad_send_event_unchecked (pad=0x7f18a000f060,
event=0x7f18a4003f00, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4822
#11 0x00007f18e1eaef70 in gst_pad_push_event_unchecked (pad=0x7f18a000e9d0,
event=0x7f18a4003f00, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4515
#12 0x00007f18e1eaaec9 in push_sticky (pad=0x7f18a000e9d0, ev=0x7f185c4c8ea0,
user_data=0x7f185c4c8f10) at gstpad.c:3286
#13 0x00007f18e1ea2ec9 in events_foreach (pad=0x7f18a000e9d0,
func=0x7f18e1eaae06 <push_sticky>, user_data=0x7f185c4c8f10) at gstpad.c:514
#14 0x00007f18e1eab1c0 in check_sticky (pad=0x7f18a000e9d0) at gstpad.c:3334
#15 0x00007f18e1eaf4a7 in gst_pad_push_event (pad=0x7f18a000e9d0,
event=0x7f18a4003f00) at gstpad.c:4636
#16 0x00007f185fdd623a in gst_rtp_ssrc_demux_sink_event (pad=0x7f18740f1d10,
parent=0x7f18740a9570, event=0x7f18a4003ea0) at gstrtpssrcdemux.c:570
#17 0x00007f18e1eafe64 in gst_pad_send_event_unchecked (pad=0x7f18740f1d10,
event=0x7f18a4003ea0, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4822
#18 0x00007f18e1eaef70 in gst_pad_push_event_unchecked (pad=0x7f18740fefa0,
event=0x7f18a4003ea0, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4515
#19 0x00007f18e1eaaec9 in push_sticky (pad=0x7f18740fefa0, ev=0x7f185c4c9210,
user_data=0x7f185c4c9280) at gstpad.c:3286
#20 0x00007f18e1ea2ec9 in events_foreach (pad=0x7f18740fefa0,
func=0x7f18e1eaae06 <push_sticky>, user_data=0x7f185c4c9280) at gstpad.c:514
#21 0x00007f18e1eab1c0 in check_sticky (pad=0x7f18740fefa0) at gstpad.c:3334
#22 0x00007f18e1eaf4a7 in gst_pad_push_event (pad=0x7f18740fefa0,
event=0x7f18a4003ea0) at gstpad.c:4636
#23 0x00007f185fdef3a9 in gst_rtp_session_event_recv_rtp_sink
(pad=0x7f18740fed70, parent=0x7f187409ef90, event=0x7f18a4003ea0) at
gstrtpsession.c:1335
#24 0x00007f18e1eafe64 in gst_pad_send_event_unchecked (pad=0x7f18740fed70,
event=0x7f18a4003ea0, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4822
#25 0x00007f18e1eaef70 in gst_pad_push_event_unchecked (pad=0x7f18740d8fe0,
event=0x7f18a4003ea0, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4515
#26 0x00007f18e1eaaec9 in push_sticky (pad=0x7f18740d8fe0, ev=0x7f185c4c9600,
user_data=0x7f185c4c9670) at gstpad.c:3286
#27 0x00007f18e1ea2ec9 in events_foreach (pad=0x7f18740d8fe0,
func=0x7f18e1eaae06 <push_sticky>, user_data=0x7f185c4c9670) at gstpad.c:514
#28 0x00007f18e1eab1c0 in check_sticky (pad=0x7f18740d8fe0) at gstpad.c:3334
#29 0x00007f18e1eaf4a7 in gst_pad_push_event (pad=0x7f18740d8fe0,
event=0x7f18a4003ea0) at gstpad.c:4636
#30 0x00007f18e1ea97ff in event_forward_func (pad=0x7f18740d8fe0,
data=0x7f185c4c9830) at gstpad.c:2720
#31 0x00007f18e1ea95f1 in gst_pad_forward (pad=0x7f18740d3380,
forward=0x7f18e1ea96c7 <event_forward_func>, user_data=0x7f185c4c9830) at
gstpad.c:2674
#32 0x00007f18e1ea99b1 in gst_pad_event_default (pad=0x7f18740d3380,
parent=0x7f18ec756af0, event=0x7f18a4003ea0) at gstpad.c:2771
#33 0x00007f18e1eafe64 in gst_pad_send_event_unchecked (pad=0x7f18740d3380,
event=0x7f18a4003ea0, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4822
#34 0x00007f18e1eaef70 in gst_pad_push_event_unchecked (pad=0x7f18740feb40,
event=0x7f18a4003ea0, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:4515
#35 0x00007f18e1eaaec9 in push_sticky (pad=0x7f18740feb40, ev=0x7f185c4c9a70,
user_data=0x7f185c4c9ae0) at gstpad.c:3286
#36 0x00007f18e1ea2ec9 in events_foreach (pad=0x7f18740feb40,
func=0x7f18e1eaae06 <push_sticky>, user_data=0x7f185c4c9ae0) at gstpad.c:514
#37 0x00007f18e1eab1c0 in check_sticky (pad=0x7f18740feb40) at gstpad.c:3334
#38 0x00007f18e1eaf4a7 in gst_pad_push_event (pad=0x7f18740feb40,
event=0x7f18a4003ea0) at gstpad.c:4636
#39 0x00007f18e01c5b42 in gst_pad_set_caps (pad=0x7f18740feb40,
caps=0x7f18740b5680) at ../../../gst/gstcompat.h:71
#40 0x00007f18e01c78c8 in gst_base_src_set_caps (src=0x7f1874105ba0,
caps=0x7f18740b5680) at gstbasesrc.c:881
#41 0x00007f185f457a26 in gst_app_src_do_negotiate (basesrc=0x7f1874105ba0) at
gstappsrc.c:937
#42 0x00007f185f457a95 in gst_app_src_negotiate (basesrc=0x7f1874105ba0) at
gstappsrc.c:954
#43 0x00007f18e01cee77 in gst_base_src_negotiate (basesrc=0x7f1874105ba0) at
gstbasesrc.c:3101
#44 0x00007f18e01cd1f8 in gst_base_src_loop (pad=0x7f18740feb40) at
gstbasesrc.c:2580
#45 0x00007f18e1ee0270 in gst_task_func (task=0x7f187412a480) at gsttask.c:316
#46 0x00007f18e1ee1377 in default_func (tdata=0x7f18740bab60,
pool=0x7f18ec418840) at gsttaskpool.c:70
#47 0x00007f18e132b2c9 in g_thread_pool_thread_proxy (data=<value optimized
out>) at gthreadpool.c:309
#48 0x00007f18e132a4d5 in g_thread_proxy (data=0x7f18740ef400) at gthread.c:797
#49 0x00007f18f3664851 in start_thread () from /lib64/libpthread.so.0
#50 0x00007f18f2f9790d in clone () from /lib64/libc.so.6
Thread 32 (Thread 0x7f1852261700 (LWP 15346)):
#0 0x00007f18f366b054 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x00007f18f36663be in _L_lock_995 () from /lib64/libpthread.so.0
#2 0x00007f18f3666326 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x00007f18e1344851 in g_mutex_lock (mutex=<value optimized out>) at
gthread-posix.c:210
#4 0x00007f185f4574b1 in gst_app_src_query (src=0x7f1874105ba0,
query=0x7f18ac00a230) at gstappsrc.c:799
#5 0x00007f18e01c8ac0 in gst_base_src_query (pad=0x7f18740feb40,
parent=0x7f1874105ba0, query=0x7f18ac00a230) at gstbasesrc.c:1259
#6 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18740feb40,
query=0x7f18ac00a230) at gstpad.c:3419
#7 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18740d3380,
query=0x7f18ac00a230) at gstpad.c:3550
#8 0x00007f18e1eaa157 in query_forward_func (pad=0x7f18740d3380,
data=0x7f185225e740) at gstpad.c:2910
#9 0x00007f18e1ea95f1 in gst_pad_forward (pad=0x7f18740d8fe0,
forward=0x7f18e1eaa02a <query_forward_func>, user_data=0x7f185225e740) at
gstpad.c:2674
#10 0x00007f18e1eaa301 in gst_pad_query_default (pad=0x7f18740d8fe0,
parent=0x7f18740d3380, query=0x7f18ac00a230) at gstpad.c:2974
#11 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18740d8fe0,
query=0x7f18ac00a230) at gstpad.c:3419
#12 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18740fed70,
query=0x7f18ac00a230) at gstpad.c:3550
#13 0x00007f18e1eaa157 in query_forward_func (pad=0x7f18740fed70,
data=0x7f185225ea60) at gstpad.c:2910
#14 0x00007f18e1ea95f1 in gst_pad_forward (pad=0x7f18740fefa0,
forward=0x7f18e1eaa02a <query_forward_func>, user_data=0x7f185225ea60) at
gstpad.c:2674
#15 0x00007f18e1eaa301 in gst_pad_query_default (pad=0x7f18740fefa0,
parent=0x7f187409ef90, query=0x7f18ac00a230) at gstpad.c:2974
#16 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18740fefa0,
query=0x7f18ac00a230) at gstpad.c:3419
#17 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18740f1d10,
query=0x7f18ac00a230) at gstpad.c:3550
#18 0x00007f185fdd70aa in gst_rtp_ssrc_demux_src_query (pad=0x7f18a000e9d0,
parent=0x7f18740a9570, query=0x7f18ac00a230) at gstrtpssrcdemux.c:878
#19 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18a000e9d0,
query=0x7f18ac00a230) at gstpad.c:3419
#20 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18a000f060,
query=0x7f18ac00a230) at gstpad.c:3550
#21 0x00007f185fdd2681 in gst_rtp_jitter_buffer_src_query (pad=0x7f18a000ee30,
parent=0x7f18b418b540, query=0x7f18ac00a230) at gstrtpjitterbuffer.c:2144
#22 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18a000ee30,
query=0x7f18ac00a230) at gstpad.c:3419
#23 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18a000f290,
query=0x7f18ac00a230) at gstpad.c:3550
#24 0x00007f18e1eaa157 in query_forward_func (pad=0x7f18a000f290,
data=0x7f185225f270) at gstpad.c:2910
#25 0x00007f18e1ea95f1 in gst_pad_forward (pad=0x7f18ac0080f0,
forward=0x7f18e1eaa02a <query_forward_func>, user_data=0x7f185225f270) at
gstpad.c:2674
#26 0x00007f18e1eaa301 in gst_pad_query_default (pad=0x7f18ac0080f0,
parent=0x7f1874130c60, query=0x7f18ac00a230) at gstpad.c:2974
#27 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18ac0080f0,
query=0x7f18ac00a230) at gstpad.c:3419
#28 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18a800a4a0,
query=0x7f18ac00a230) at gstpad.c:3550
#29 0x00007f18e1eaa157 in query_forward_func (pad=0x7f18a800a4a0,
data=0x7f185225f590) at gstpad.c:2910
#30 0x00007f18e1ea95f1 in gst_pad_forward (pad=0x7f18a8008520,
forward=0x7f18e1eaa02a <query_forward_func>, user_data=0x7f185225f590) at
gstpad.c:2674
#31 0x00007f18e1eaa301 in gst_pad_query_default (pad=0x7f18a8008520,
parent=0x7f18ec756af0, query=0x7f18ac00a230) at gstpad.c:2974
#32 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18a8008520,
query=0x7f18ac00a230) at gstpad.c:3419
#33 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18740ff400,
query=0x7f18ac00a230) at gstpad.c:3550
#34 0x00007f18e1eaa157 in query_forward_func (pad=0x7f18740ff400,
data=0x7f185225f8b0) at gstpad.c:2910
#35 0x00007f18e1ea95f1 in gst_pad_forward (pad=0x7f18740ff630,
forward=0x7f18e1eaa02a <query_forward_func>, user_data=0x7f185225f8b0) at
gstpad.c:2674
#36 0x00007f18e1eaa301 in gst_pad_query_default (pad=0x7f18740ff630,
parent=0x7f18ec704a00, query=0x7f18ac00a230) at gstpad.c:2974
#37 0x00007f18e1eab5d9 in gst_pad_query (pad=0x7f18740ff630,
query=0x7f18ac00a230) at gstpad.c:3419
#38 0x00007f18e1eabea1 in gst_pad_peer_query (pad=0x7f18740ff860,
query=0x7f18ac00a230) at gstpad.c:3550
#39 0x00007f18da9eacba in gst_ffmpegviddec_set_format () from
/opt/cafex/fusion_media_broker/native/lib/gstreamer-1.0/libgstlibav.so
#40 0x00007f18e0ac916a in gst_video_decoder_setcaps (decoder=0x7f187410c800,
caps=0x7f18ac00a140) at gstvideodecoder.c:807
#41 0x00007f18e0ace427 in gst_video_decoder_chain (pad=0x7f18740ff860,
parent=0x7f187410c800, buf=0x7f1888009ea0) at gstvideodecoder.c:1968
#42 0x00007f18e1eac553 in gst_pad_chain_data_unchecked (pad=0x7f18740ff860,
type=4112, data=0x7f1888009ea0) at gstpad.c:3655
#43 0x00007f18e1ead027 in gst_pad_push_data (pad=0x7f18740ff630, type=4112,
data=0x7f1888009ea0) at gstpad.c:3872
#44 0x00007f18e1ead597 in gst_pad_push (pad=0x7f18740ff630,
buffer=0x7f1888009ea0) at gstpad.c:3975
#45 0x00007f18db8fd218 in gst_rtp_base_depayload_push (filter=0x7f18ec704a00,
out_buf=0x7f1888009ea0) at gstrtpbasedepayload.c:608
#46 0x00007f18db8fc818 in gst_rtp_base_depayload_chain (pad=0x7f18740ff400,
parent=0x7f18ec704a00, in=0x7f189c003d60) at gstrtpbasedepayload.c:356
#47 0x00007f18e1eac553 in gst_pad_chain_data_unchecked (pad=0x7f18740ff400,
type=4112, data=0x7f189c003d60) at gstpad.c:3655
#48 0x00007f18e1ead027 in gst_pad_push_data (pad=0x7f18a8008520, type=4112,
data=0x7f189c003d60) at gstpad.c:3872
#49 0x00007f18e1ead597 in gst_pad_push (pad=0x7f18a8008520,
buffer=0x7f189c003d60) at gstpad.c:3975
#50 0x00007f18e1e949ac in gst_proxy_pad_chain_default (pad=0x7f18a800a4a0,
parent=0x7f18a8008520, buffer=0x7f189c003d60) at gstghostpad.c:128
#51 0x00007f18e1eac553 in gst_pad_chain_data_unchecked (pad=0x7f18a800a4a0,
type=4112, data=0x7f189c003d60) at gstpad.c:3655
#52 0x00007f18e1ead027 in gst_pad_push_data (pad=0x7f18ac0080f0, type=4112,
data=0x7f189c003d60) at gstpad.c:3872
#53 0x00007f18e1ead597 in gst_pad_push (pad=0x7f18ac0080f0,
buffer=0x7f189c003d60) at gstpad.c:3975
#54 0x00007f185fdd4986 in gst_rtp_pt_demux_chain (pad=0x7f18a000f290,
parent=0x7f1874130c60, buf=0x7f189c003d60) at gstrtpptdemux.c:439
#55 0x00007f18e1eac553 in gst_pad_chain_data_unchecked (pad=0x7f18a000f290,
type=4112, data=0x7f189c003d60) at gstpad.c:3655
#56 0x00007f18e1ead027 in gst_pad_push_data (pad=0x7f18a000ee30, type=4112,
data=0x7f189c003d60) at gstpad.c:3872
#57 0x00007f18e1ead597 in gst_pad_push (pad=0x7f18a000ee30,
buffer=0x7f189c003d60) at gstpad.c:3975
#58 0x00007f185fdd194a in gst_rtp_jitter_buffer_loop
(jitterbuffer=0x7f18b418b540) at gstrtpjitterbuffer.c:1903
#59 0x00007f18e1ee0270 in gst_task_func (task=0x7f1874130d80) at gsttask.c:316
#60 0x00007f18e1ee1377 in default_func (tdata=0x7f18a4001d10,
pool=0x7f18ec418840) at gsttaskpool.c:70
#61 0x00007f18e132b2c9 in g_thread_pool_thread_proxy (data=<value optimized
out>) at gthreadpool.c:309
#62 0x00007f18e132a4d5 in g_thread_proxy (data=0x7f18a4003b70) at gthread.c:797
#63 0x00007f18f3664851 in start_thread () from /lib64/libpthread.so.0
#64 0x00007f18f2f9790d in clone () from /lib64/libc.so.6
With the following mutexes:
(gdb) thread 32
[Switching to thread 32 (Thread 0x7f1852261700 (LWP 15346))]#0
0x00007f18f366b054 in __lll_lock_wait () from /lib64/libpthread.so.0
(gdb) frame 2
#2 0x00007f18f3666326 in pthread_mutex_lock () from /lib64/libpthread.so.0
(gdb) info reg
rax 0xfffffffffffffe00 -512
rbx 0x7f185225e3c4 139742434157508
rcx 0xffffffffffffffff -1
rdx 0x65 101
rsi 0x80 128
rdi 0x7f1874104fa0 139743003168672
rbp 0x7f185225e400 0x7f185225e400
rsp 0x7f185225e398 0x7f185225e398
r8 0x7f1874104fa0 139743003168672
r9 0x3bf2 15346
r10 0x0 0
r11 0x202 514
r12 0x7f18e132b430 139744834139184
r13 0x0 0
r14 0x4 4
r15 0x7 7
rip 0x7f18f3666326 0x7f18f3666326 <pthread_mutex_lock+262>
eflags 0x202 [ IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) p *(pthread_mutex_t*)0x7f1874104fa0
$1 = {__data = {__lock = 2, __count = 0, __owner = 15312, __nusers = 1, __kind
= 3, __spins = 92, __list = {__prev = 0x0, __next = 0x0}},
__size =
"\002\000\000\000\000\000\000\000\320;\000\000\001\000\000\000\003\000\000\000\\",
'\000' <repeats 18 times>, __align = 2}
(gdb) thread 66
[Switching to thread 66 (Thread 0x7f185c4ca700 (LWP 15312))]#0
0x00007f18f366b054 in __lll_lock_wait () from /lib64/libpthread.so.0
(gdb) frame 2
#2 0x00007f18f3666287 in pthread_mutex_lock () from /lib64/libpthread.so.0
(gdb) info reg
rax 0xfffffffffffffe00 -512
rbx 0x7f18e1eaae06 139744846196230
rcx 0xffffffffffffffff -1
rdx 0x7f18a4001f40 139743807414080
rsi 0x80 128
rdi 0x7f18a4001a40 139743807412800
rbp 0x7f185c4c89e0 0x7f185c4c89e0
rsp 0x7f185c4c8928 0x7f185c4c8928
r8 0x7f18a4001a40 139743807412800
r9 0x3bd0 15312
r10 0xfffffffffffff9f8 -1544
r11 0x202 514
r12 0x7f18e132b430 139744834139184
r13 0x0 0
r14 0x4 4
r15 0x7 7
rip 0x7f18f3666287 0x7f18f3666287 <pthread_mutex_lock+103>
eflags 0x202 [ IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) p *(pthread_mutex_t*)0x7f18a4001a40
$2 = {__data = {__lock = 2, __count = 1, __owner = 15346, __nusers = 1, __kind
= 1, __spins = 0, __list = {__prev = 0x0, __next = 0x0}},
__size = "\002\000\000\000\001\000\000\000\362;\000\000\001\000\000\000\001",
'\000' <repeats 22 times>, __align = 4294967298}
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list