[Bug 783627] gstvideodecoder.c: gst_video_decoder_negotiate triggers deadlock

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Jun 10 11:48:34 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=783627

--- Comment #3 from minfrin at sharp.fm ---
Second stack trace, the pipeline is pumping data, and this gets blocked because
the element above is locked, giving us deadlock:

x Thread 17 (Thread 0x6c5ff460 (LWP 28437)):
x #0  0x76ca2780 in __lll_lock_wait (futex=futex at entry=0x71801688,
private=<optimized out>) at
../ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c:46
x #1  0x76c9d3c4 in __GI___pthread_mutex_lock (mutex=0x71801688) at
pthread_mutex_lock.c:114
x #2  0x76329b20 in gst_video_decoder_chain (pad=0x6de57aa8, parent=0x71836150,
buf=0x75643970) at gstvideodecoder.c:2430
x #3  0x76f07bd0 in gst_pad_chain_data_unchecked (pad=0x6de57aa8, type=4112,
data=0x75643970) at gstpad.c:4205
x #4  0x76f08bfc in gst_pad_push_data (pad=0x6de45958, type=4112,
data=0x75643970) at gstpad.c:4457
x #5  0x76f094c0 in gst_pad_push (pad=0x6de45958, buffer=0x75643970) at
gstpad.c:4576
x #6  0x767c4128 in gst_base_transform_chain (pad=0x6de45808, parent=0x2d5bb0,
buffer=0x75643970) at gstbasetransform.c:2312
x #7  0x76f07bd0 in gst_pad_chain_data_unchecked (pad=0x6de45808, type=4112,
data=0x75643970) at gstpad.c:4205
x #8  0x76f08bfc in gst_pad_push_data (pad=0x6de456b8, type=4112,
data=0x75643970) at gstpad.c:4457
x #9  0x76f094c0 in gst_pad_push (pad=0x6de456b8, buffer=0x75643970) at
gstpad.c:4576
x #10 0x7678ef1c in gst_base_parse_push_frame (parse=0x6de4a730,
frame=0x71803b68) at gstbaseparse.c:2520
x #11 0x7678dd08 in gst_base_parse_handle_and_push_frame (parse=0x6de4a730,
frame=0x71803b68) at gstbaseparse.c:2337
x #12 0x7678f850 in gst_base_parse_finish_frame (parse=0x6de4a730,
frame=0x71803b68, size=43130) at gstbaseparse.c:2678
x #13 0x72ec2188 in gst_h264_parse_handle_frame (parse=0x6de4a730,
frame=0x71803b68, skipsize=0x6c5fea6c) at gsth264parse.c:1275
x #14 0x7678cee0 in gst_base_parse_handle_buffer (parse=0x6de4a730,
buffer=0x756b3a00, skip=0x6c5fea6c, flushed=0x6c5fea68) at gstbaseparse.c:2145
x #15 0x767923d4 in gst_base_parse_chain (pad=0x6de45568, parent=0x6de4a730,
buffer=0x75692cb8) at gstbaseparse.c:3227
x #16 0x76f07bd0 in gst_pad_chain_data_unchecked (pad=0x6de45568, type=4112,
data=0x75692cb8) at gstpad.c:4205
x #17 0x76f08bfc in gst_pad_push_data (pad=0x6de45418, type=4112,
data=0x75692cb8) at gstpad.c:4457
x #18 0x76f094c0 in gst_pad_push (pad=0x6de45418, buffer=0x75692cb8) at
gstpad.c:4576
x #19 0x75fdcf78 in gst_single_queue_push_one (mq=0x6de452a8, sq=0x6de48cc8,
object=0x75692cb8, allow_drop=0x6c5fed44) at gstmultiqueue.c:1608
x #20 0x75fdede8 in gst_multi_queue_loop (pad=0x6de45418) at
gstmultiqueue.c:1920
x #21 0x76f519e8 in gst_task_func (task=0x7561e418) at gsttask.c:332
x #22 0x76f5305c in default_func (tdata=0x1affe0, pool=0x38c58) at
gsttaskpool.c:69
x #23 0x76d5945c in g_thread_pool_thread_proxy (data=<optimized out>) at
/build/glib2.0-tTvduh/glib2.0-2.42.1/./glib/gthreadpool.c:307
x #24 0x76d588c4 in g_thread_proxy (data=0x75602000) at
/build/glib2.0-tTvduh/glib2.0-2.42.1/./glib/gthread.c:764
x #25 0x76c9ae90 in start_thread (arg=0x6c5ff460) at pthread_create.c:311
x #26 0x76c24598 in ?? () at
../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from
/lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

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