[Bug 693224] appsrc deadlocks when setting pad caps before pushing buffer

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Feb 5 11:17:12 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=693224
  GStreamer | gst-plugins-base | 1.0.5

--- Comment #2 from Rodolfo Schulz de Lima <rodolfo at rodsoft.org> 2013-02-05 19:17:09 UTC ---
Here's another place where priv->mutex is being locked *before* appsrc's mutex,
leading to a deadlock because another thread is locking these mutexes in the
reverse other:

#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:132
#1  0x00007ffff662b15b in _L_lock_1032 () from /lib64/libpthread.so.0
#2  0x00007ffff662b0dc in __pthread_mutex_lock (mutex=0x7fff9a679fd0) at
pthread_mutex_lock.c:
101
#3  0x00007ffff4f74171 in g_mutex_lock (mutex=mutex at entry=0x7fff98003c18) at
gthread-posix.c:2
10
#4  0x00007ffff5fbba2a in gst_app_src_internal_get_caps (bsrc=0x7fff98003c00,
filter=0x0) at g
stappsrc.c:559
#5  0x00007ffff5d952ad in gst_base_src_default_query (src=0x7fff98003c00,
query=0x7fffa0041370
) at gstbasesrc.c:1211
#6  0x00007ffff5fbbbb4 in gst_app_src_query (src=<optimized out>,
query=0x7fffa0041370) at gst
appsrc.c:826
#7  0x00007ffff5ad6046 in gst_pad_query (pad=pad at entry=0x7fffa0004250,
query=query at entry=0x7ff
fa0041370) at gstpad.c:3418
#8  0x00007ffff5b06044 in gst_pad_query_caps (pad=0x7fffa0004250,
filter=filter at entry=0x0) at
gstutils.c:2751
#9  0x00007ffff5d9425e in gst_base_src_default_negotiate
(basesrc=0x7fff98003c00) at gstbasesr
c.c:3006
#10 0x00007ffff5fbc851 in gst_app_src_negotiate (basesrc=0x7fff98003c00) at
gstappsrc.c:954
#11 0x00007ffff5d92322 in gst_base_src_negotiate (basesrc=0x7fff98003c00) at
gstbasesrc.c:3080
#12 gst_base_src_loop (pad=0x7fffa0004250) at gstbasesrc.c:2569
#13 0x00007ffff5afe6a1 in gst_task_func (task=0x11adc60) at gsttask.c:316
#14 0x00007ffff4f5b3b2 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:3
09
#15 0x00007ffff4f5ab95 in g_thread_proxy (data=0x7fff98003140) at gthread.c:797
#16 0x00007ffff6628ec6 in start_thread (arg=0x7fffa8ff9700) at
pthread_create.c:305
#17 0x00007ffff0be18ad in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:115

priv->mutex is being locked here:
gstappsrc.c:953 (gst_app_src_negotiate)

then appsrc's mutex is being locked here:
gstappsrc.c:559 (gst_app_src_internal_get_caps)

-- 
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