[Bug 775993] New: validate: Deadlock when doing PAUSE->PLAYING dance on BUFFERING messages while transcoding in filesink
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Dec 12 16:07:40 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=775993
Bug ID: 775993
Summary: validate: Deadlock when doing PAUSE->PLAYING dance on
BUFFERING messages while transcoding in filesink
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: tsaunier at gnome.org
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 341827
--> https://bugzilla.gnome.org/attachment.cgi?id=341827&action=edit
validate: transcode: No buffering handling when the sink is not synced on the
clock
In gst-validate-transcoder-1.0 we respect do the BUFFERING message and PAUSE
the pipeline when starting buffering and go back to PLAYING when this is done,
and that even if the sink is not synchronized on the clock.
Validate test: validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_video_mkv
In racy/rare conditions we get a deadlock when `prerolling` going to PAUSED
with the following stack trace:
Thread 7 (Thread 0x7fbb6a020700 (LWP 21809)):
#0 0x00007fbb7225db7d in poll () at /lib64/libc.so.6
#1 0x00007fbb7257218c in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#2 0x00007fbb7257229c in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#3 0x00007fbb725722d9 in glib_worker_main () at /lib64/libglib-2.0.so.0
#4 0x00007fbb725988e5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007fbb73bb861a in start_thread () at /lib64/libpthread.so.0
#6 0x00007fbb722695fd in clone () at /lib64/libc.so.6
Thread 6 (Thread 0x7fbb541e8700 (LWP 21847)):
#0 0x00007fbb72263809 in syscall () at /lib64/libc.so.6
#1 0x00007fbb725b68df in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007fbb5649e455 in gst_queue2_wait_free_space (queue=0x7fbb4c03c000) at
gstqueue2.c:1826
#3 0x00007fbb564a2d7e in gst_queue2_chain_buffer_or_buffer_list
(queue=0x7fbb4c03c000, item=0x7fbb4c0413b0,
item_type=GST_QUEUE2_ITEM_TYPE_BUFFER) at gstqueue2.c:2754
#4 0x00007fbb564a3341 in gst_queue2_chain (pad=0x7fbb4c0364f0,
parent=0x7fbb4c03c000, buffer=0x7fbb4c0413b0) at gstqueue2.c:2815
#5 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb4c0364f0, parent=0x7fbb4c03c000, buffer=0x7fbb4c0413b0) at
gst-validate-pad-monitor.c:2121
#6 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb4c0364f0,
type=4112, data=0x7fbb4c0413b0) at gstpad.c:4203
#7 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x125f030, type=4112,
data=0x7fbb4c0413b0) at gstpad.c:4455
#8 0x00007fbb7366fff6 in gst_pad_push (pad=0x125f030, buffer=0x7fbb4c0413b0)
at gstpad.c:4574
#9 0x00007fbb564ad065 in gst_type_find_element_chain (pad=0x125edf0,
parent=0x127c090, buffer=0x7fbb4c0413b0) at gsttypefindelement.c:896
#10 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func (pad=0x125edf0,
parent=0x127c090, buffer=0x7fbb4c0413b0) at gst-validate-pad-monitor.c:2121
#11 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x125edf0,
type=4112, data=0x7fbb4c0413b0) at gstpad.c:4203
#12 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x125e970, type=4112,
data=0x7fbb4c0413b0) at gstpad.c:4455
#13 0x00007fbb7366fff6 in gst_pad_push (pad=0x125e970, buffer=0x7fbb4c0413b0)
at gstpad.c:4574
#14 0x00007fbb7397b1b3 in gst_base_src_loop (pad=0x125e970) at
gstbasesrc.c:2855
#15 0x00007fbb736aa69f in gst_task_func (task=0x127d170) at gsttask.c:334
#16 0x00007fbb736ab858 in default_func (tdata=0x1272ec0, pool=0x1013910) at
gsttaskpool.c:68
#17 0x00007fbb7259927e in g_thread_pool_thread_proxy () at
/lib64/libglib-2.0.so.0
#18 0x00007fbb725988e5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#19 0x00007fbb73bb861a in start_thread () at /lib64/libpthread.so.0
#20 0x00007fbb722695fd in clone () at /lib64/libc.so.6
Thread 5 (Thread 0x7fbb537cd700 (LWP 21853)):
#0 0x00007fbb72263809 in syscall () at /lib64/libc.so.6
#1 0x00007fbb725b68df in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007fbb73994ecb in gst_data_queue_push (queue=0x7fbb4c040480,
item=0x7fbb4417d440) at gstdataqueue.c:520
#3 0x00007fbb5648bcea in gst_multi_queue_chain (pad=0x7fbb4c0376f0,
parent=0x7fbb44044090, buffer=0x7fbb4c018ab0) at gstmultiqueue.c:2112
#4 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb4c0376f0, parent=0x7fbb44044090, buffer=0x7fbb4c018ab0) at
gst-validate-pad-monitor.c:2121
#5 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb4c0376f0,
type=4112, data=0x7fbb4c018ab0) at gstpad.c:4203
#6 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb4c037270, type=4112,
data=0x7fbb4c018ab0) at gstpad.c:4455
#7 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb4c037270,
buffer=0x7fbb4c018ab0) at gstpad.c:4574
#8 0x00007fbb5621bd6b in gst_matroska_demux_parse_blockgroup_or_simpleblock
(demux=0x7fbb4403c130, ebml=0x7fbb537cc4f0, cluster_time=1333,
cluster_offset=4609563, is_simpleblock=1) at matroska-demux.c:3842
#9 0x00007fbb5621e35b in gst_matroska_demux_parse_id (demux=0x7fbb4403c130,
id=163, length=115204, needed=4) at matroska-demux.c:4507
#10 0x00007fbb5622023d in gst_matroska_demux_chain (pad=0x7fbb4c036df0,
parent=0x7fbb4403c130, buffer=0x0) at matroska-demux.c:4889
#11 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb4c036df0, parent=0x7fbb4403c130, buffer=0x7fbb4c041080) at
gst-validate-pad-monitor.c:2121
#12 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb4c036df0,
type=4112, data=0x7fbb4c041080) at gstpad.c:4203
#13 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x125fdb0, type=4112,
data=0x7fbb4c041080) at gstpad.c:4455
#14 0x00007fbb7366fff6 in gst_pad_push (pad=0x125fdb0, buffer=0x7fbb4c041080)
at gstpad.c:4574
#15 0x00007fbb564ad065 in gst_type_find_element_chain (pad=0x125fb70,
parent=0x127c810, buffer=0x7fbb4c041080) at gsttypefindelement.c:896
#16 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func (pad=0x125fb70,
parent=0x127c810, buffer=0x7fbb4c041080) at gst-validate-pad-monitor.c:2121
#17 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x125fb70,
type=4112, data=0x7fbb4c041080) at gstpad.c:4203
#18 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x125ca30, type=4112,
data=0x7fbb4c041080) at gstpad.c:4455
#19 0x00007fbb7366fff6 in gst_pad_push (pad=0x125ca30, buffer=0x7fbb4c041080)
at gstpad.c:4574
#20 0x00007fbb73651501 in gst_proxy_pad_chain_default (pad=0x1236a10,
parent=0x7fbb4c034140, buffer=0x7fbb4c041080) at gstghostpad.c:126
#21 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x1236a10,
type=4112, data=0x7fbb4c041080) at gstpad.c:4203
#22 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb4c036730, type=4112,
data=0x7fbb4c041080) at gstpad.c:4455
#23 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb4c036730,
buffer=0x7fbb4c041080) at gstpad.c:4574
#24 0x00007fbb564a3931 in gst_queue2_push_one (queue=0x7fbb4c03c000) at
gstqueue2.c:2908
#25 0x00007fbb564a4486 in gst_queue2_loop (pad=0x7fbb4c036730) at
gstqueue2.c:3030
#26 0x00007fbb736aa69f in gst_task_func (task=0x127d710) at gsttask.c:334
#27 0x00007fbb736ab858 in default_func (tdata=0x7fbb4c01d130, pool=0x1013910)
at gsttaskpool.c:68
#28 0x00007fbb7259927e in g_thread_pool_thread_proxy () at
/lib64/libglib-2.0.so.0
#29 0x00007fbb725988e5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#30 0x00007fbb73bb861a in start_thread () at /lib64/libpthread.so.0
#31 0x00007fbb722695fd in clone () at /lib64/libc.so.6
Thread 4 (Thread 0x7fbb529ca700 (LWP 21860)):
#0 0x00007fbb72263809 in syscall () at /lib64/libc.so.6
#1 0x00007fbb725b68df in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007fbb56494a87 in gst_queue_chain_buffer_or_list (pad=0x7fbb48024050,
parent=0x7fbb4800c4b0, obj=0x7fbb44048a00, is_list=0) at gstqueue.c:1222
#3 0x00007fbb56495226 in gst_queue_chain (pad=0x7fbb48024050,
parent=0x7fbb4800c4b0, buffer=0x7fbb44048a00) at gstqueue.c:1320
#4 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48024050, parent=0x7fbb4800c4b0, buffer=0x7fbb44048a00) at
gst-validate-pad-monitor.c:2121
#5 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48024050,
type=4112, data=0x7fbb44048a00) at gstpad.c:4203
#6 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb480041e0, type=4112,
data=0x7fbb44048a00) at gstpad.c:4455
#7 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb480041e0,
buffer=0x7fbb44048a00) at gstpad.c:4574
#8 0x00007fbb73651501 in gst_proxy_pad_chain_default (pad=0x1237640,
parent=0x12300d0, buffer=0x7fbb44048a00) at gstghostpad.c:126
#9 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x1237640,
type=4112, data=0x7fbb44048a00) at gstpad.c:4203
#10 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x12373d0, type=4112,
data=0x7fbb44048a00) at gstpad.c:4455
#11 0x00007fbb7366fff6 in gst_pad_push (pad=0x12373d0, buffer=0x7fbb44048a00)
at gstpad.c:4574
#12 0x00007fbb73651501 in gst_proxy_pad_chain_default (pad=0x125dcb0,
parent=0x12373d0, buffer=0x7fbb44048a00) at gstghostpad.c:126
#13 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x125dcb0,
type=4112, data=0x7fbb44048a00) at gstpad.c:4203
#14 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb44006310, type=4112,
data=0x7fbb44048a00) at gstpad.c:4455
#15 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb44006310,
buffer=0x7fbb44048a00) at gstpad.c:4574
#16 0x00007fbb73651501 in gst_proxy_pad_chain_default (pad=0x125d5c0,
parent=0x7fbb44006310, buffer=0x7fbb44048a00) at gstghostpad.c:126
#17 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x125d5c0,
type=4112, data=0x7fbb44048a00) at gstpad.c:4203
#18 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb4c037930, type=4112,
data=0x7fbb44048a00) at gstpad.c:4455
#19 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb4c037930,
buffer=0x7fbb44048a00) at gstpad.c:4574
#20 0x00007fbb564892a7 in gst_single_queue_push_one (mq=0x7fbb44044090,
sq=0x7fbb44043ab0, object=0x7fbb44048a00, allow_drop=0x7fbb529c9cf4) at
gstmultiqueue.c:1611
#21 0x00007fbb5648ad2f in gst_multi_queue_loop (pad=0x7fbb4c037930) at
gstmultiqueue.c:1923
#22 0x00007fbb736aa69f in gst_task_func (task=0x127dcb0) at gsttask.c:334
#23 0x00007fbb736ab858 in default_func (tdata=0x7fbb44004910, pool=0x1013910)
at gsttaskpool.c:68
#24 0x00007fbb7259927e in g_thread_pool_thread_proxy () at
/lib64/libglib-2.0.so.0
#25 0x00007fbb725988e5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#26 0x00007fbb73bb861a in start_thread () at /lib64/libpthread.so.0
#27 0x00007fbb722695fd in clone () at /lib64/libc.so.6
Thread 3 (Thread 0x7fbb51610700 (LWP 21865)):
#0 0x00007fbb72263809 in syscall () at /lib64/libc.so.6
#1 0x00007fbb725b68df in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007fbb56494a87 in gst_queue_chain_buffer_or_list (pad=0x7fbb480084c0,
parent=0x7fbb4800c1c0, obj=0x7fbb4c018230, is_list=0) at gstqueue.c:1222
#3 0x00007fbb56495226 in gst_queue_chain (pad=0x7fbb480084c0,
parent=0x7fbb4800c1c0, buffer=0x7fbb4c018230) at gstqueue.c:1320
#4 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb480084c0, parent=0x7fbb4800c1c0, buffer=0x7fbb4c018230) at
gst-validate-pad-monitor.c:2121
#5 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb480084c0,
type=4112, data=0x7fbb4c018230) at gstpad.c:4203
#6 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48009000, type=4112,
data=0x7fbb4c018230) at gstpad.c:4455
#7 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48009000,
buffer=0x7fbb4c018230) at gstpad.c:4574
#8 0x00007fbb739851b0 in gst_base_transform_chain (pad=0x7fbb48008dc0,
parent=0x7fbb480122b0, buffer=0x7fbb4c018230) at gstbasetransform.c:2378
#9 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48008dc0, parent=0x7fbb480122b0, buffer=0x7fbb4c018230) at
gst-validate-pad-monitor.c:2121
#10 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48008dc0,
type=4112, data=0x7fbb4c018230) at gstpad.c:4203
#11 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb480096c0, type=4112,
data=0x7fbb4c018230) at gstpad.c:4455
#12 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb480096c0,
buffer=0x7fbb4c018230) at gstpad.c:4574
#13 0x00007fbb566d5e39 in gst_stream_combiner_chain (pad=0x7fbb48025b50,
parent=0x1270bf0, buf=0x7fbb4c018230) at gststreamcombiner.c:111
#14 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48025b50, parent=0x1270bf0, buffer=0x7fbb4c018230) at
gst-validate-pad-monitor.c:2121
#15 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48025b50,
type=4112, data=0x7fbb4c018230) at gstpad.c:4203
#16 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48024dd0, type=4112,
data=0x7fbb4c018230) at gstpad.c:4455
#17 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48024dd0,
buffer=0x7fbb4c018230) at gstpad.c:4574
#18 0x00007fbb740dbe95 in gst_video_encoder_finish_frame
(encoder=0x7fbb480403e0, frame=0x0) at gstvideoencoder.c:2204
#19 0x00007fbb51fbd2e1 in gst_vpx_enc_process (encoder=0x7fbb480403e0) at
gstvpxenc.c:1732
#20 0x00007fbb51fbdf63 in gst_vpx_enc_handle_frame
(video_encoder=0x7fbb480403e0, frame=0x7fbb4c0417f0) at gstvpxenc.c:1921
#21 0x00007fbb740d903a in gst_video_encoder_chain (pad=0x7fbb48025010,
parent=0x7fbb480403e0, buf=0x7fbb4c041900) at gstvideoencoder.c:1461
#22 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48025010, parent=0x7fbb480403e0, buffer=0x7fbb4c041900) at
gst-validate-pad-monitor.c:2121
#23 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48025010,
type=4112, data=0x7fbb4c041900) at gstpad.c:4203
#24 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb480422a0, type=4112,
data=0x7fbb4c041900) at gstpad.c:4455
#25 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb480422a0,
buffer=0x7fbb4c041900) at gstpad.c:4574
#26 0x00007fbb739851b0 in gst_base_transform_chain (pad=0x7fbb48042060,
parent=0x7fbb480125f0, buffer=0x7fbb4c041900) at gstbasetransform.c:2378
#27 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48042060, parent=0x7fbb480125f0, buffer=0x7fbb4c041900) at
gst-validate-pad-monitor.c:2121
#28 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48042060,
type=4112, data=0x7fbb4c041900) at gstpad.c:4203
#29 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48052710, type=4112,
data=0x7fbb4c041900) at gstpad.c:4455
#30 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48052710,
buffer=0x7fbb4c041900) at gstpad.c:4574
#31 0x00007fbb51615c7b in gst_video_rate_flush_prev (videorate=0x7fbb480570d0,
duplicate=0, next_intime=100000000) at gstvideorate.c:707
#32 0x00007fbb51619109 in gst_video_rate_transform_ip (trans=0x7fbb480570d0,
buffer=0x7fbb4c018340) at gstvideorate.c:1434
#33 0x00007fbb7398489f in default_generate_output (trans=0x7fbb480570d0,
outbuf=0x7fbb5160f068) at gstbasetransform.c:2184
#34 0x00007fbb73984fe0 in gst_base_transform_chain (pad=0x7fbb480524d0,
parent=0x7fbb480570d0, buffer=0x7fbb4c018340) at gstbasetransform.c:2342
#35 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb480524d0, parent=0x7fbb480570d0, buffer=0x7fbb4c018340) at
gst-validate-pad-monitor.c:2121
#36 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb480524d0,
type=4112, data=0x7fbb4c018340) at gstpad.c:4203
#37 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb480434a0, type=4112,
data=0x7fbb4c018340) at gstpad.c:4455
#38 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb480434a0,
buffer=0x7fbb4c018340) at gstpad.c:4574
#39 0x00007fbb739851b0 in gst_base_transform_chain (pad=0x7fbb48043260,
parent=0x7fbb4804f610, buffer=0x7fbb4c018340) at gstbasetransform.c:2378
#40 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48043260, parent=0x7fbb4804f610, buffer=0x7fbb4c018340) at
gst-validate-pad-monitor.c:2121
#41 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48043260,
type=4112, data=0x7fbb4c018340) at gstpad.c:4203
#42 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48043020, type=4112,
data=0x7fbb4c018340) at gstpad.c:4455
#43 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48043020,
buffer=0x7fbb4c018340) at gstpad.c:4574
#44 0x00007fbb739851b0 in gst_base_transform_chain (pad=0x7fbb48042de0,
parent=0x7fbb4804cc50, buffer=0x7fbb4c018340) at gstbasetransform.c:2378
#45 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48042de0, parent=0x7fbb4804cc50, buffer=0x7fbb4c018340) at
gst-validate-pad-monitor.c:2121
#46 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48042de0,
type=4112, data=0x7fbb4c018340) at gstpad.c:4203
#47 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48042ba0, type=4112,
data=0x7fbb4c018340) at gstpad.c:4455
#48 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48042ba0,
buffer=0x7fbb4c018340) at gstpad.c:4574
#49 0x00007fbb739851b0 in gst_base_transform_chain (pad=0x7fbb48042960,
parent=0x7fbb4804b0d0, buffer=0x7fbb4c018340) at gstbasetransform.c:2378
#50 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48042960, parent=0x7fbb4804b0d0, buffer=0x7fbb4c018340) at
gst-validate-pad-monitor.c:2121
#51 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48042960,
type=4112, data=0x7fbb4c018340) at gstpad.c:4203
#52 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48052dd0, type=4112,
data=0x7fbb4c018340) at gstpad.c:4455
#53 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48052dd0,
buffer=0x7fbb4c018340) at gstpad.c:4574
#54 0x00007fbb566d6ba4 in gst_stream_splitter_chain (pad=0x7fbb48009b40,
parent=0x113f8c0, buf=0x7fbb4c018340) at gststreamsplitter.c:140
#55 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48009b40, parent=0x113f8c0, buffer=0x7fbb4c018340) at
gst-validate-pad-monitor.c:2121
#56 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48009b40,
type=4112, data=0x7fbb4c018340) at gstpad.c:4203
#57 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48024290, type=4112,
data=0x7fbb4c018340) at gstpad.c:4455
#58 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48024290,
buffer=0x7fbb4c018340) at gstpad.c:4574
#59 0x00007fbb56495393 in gst_queue_push_one (queue=0x7fbb4800c4b0) at
gstqueue.c:1359
#60 0x00007fbb564961ab in gst_queue_loop (pad=0x7fbb48024290) at
gstqueue.c:1506
#61 0x00007fbb736aa69f in gst_task_func (task=0x7fbb4403e290) at gsttask.c:334
#62 0x00007fbb736ab858 in default_func (tdata=0x7fbb48001c60, pool=0x1013910)
at gsttaskpool.c:68
#63 0x00007fbb7259927e in g_thread_pool_thread_proxy () at
/lib64/libglib-2.0.so.0
#64 0x00007fbb725988e5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#65 0x00007fbb73bb861a in start_thread () at /lib64/libpthread.so.0
#66 0x00007fbb722695fd in clone () at /lib64/libc.so.6
Thread 2 (Thread 0x7fbb50e0f700 (LWP 21868)):
#0 0x00007fbb72263809 in syscall () at /lib64/libc.so.6
#1 0x00007fbb725b68df in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007fbb73966fab in gst_base_sink_wait_preroll (sink=0x1239ea0) at
gstbasesink.c:2266
#3 0x00007fbb739674e0 in gst_base_sink_do_preroll (sink=0x1239ea0,
obj=0x7fbb44049990) at gstbasesink.c:2360
#4 0x00007fbb73967dea in gst_base_sink_do_sync (basesink=0x1239ea0,
obj=0x7fbb44049990, late=0x7fbb50e0e19c, step_end=0x7fbb50e0e198) at
gstbasesink.c:2562
#5 0x00007fbb7396c47a in gst_base_sink_chain_unlocked (basesink=0x1239ea0,
pad=0x125e070, obj=0x7fbb44049990, is_list=0) at gstbasesink.c:3518
#6 0x00007fbb7396d339 in gst_base_sink_chain_main (basesink=0x1239ea0,
pad=0x125e070, obj=0x7fbb44049990, is_list=0) at gstbasesink.c:3674
#7 0x00007fbb7396d4a8 in gst_base_sink_chain (pad=0x125e070, parent=0x1239ea0,
buf=0x7fbb44049990) at gstbasesink.c:3703
#8 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func (pad=0x125e070,
parent=0x1239ea0, buffer=0x7fbb44049990) at gst-validate-pad-monitor.c:2121
#9 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x125e070,
type=4112, data=0x7fbb44049990) at gstpad.c:4203
#10 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x1236050, type=4112,
data=0x7fbb44049990) at gstpad.c:4455
#11 0x00007fbb7366fff6 in gst_pad_push (pad=0x1236050, buffer=0x7fbb44049990)
at gstpad.c:4574
#12 0x00007fbb73651501 in gst_proxy_pad_chain_default (pad=0x125c0f0,
parent=0x1236050, buffer=0x7fbb44049990) at gstghostpad.c:126
#13 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x125c0f0,
type=4112, data=0x7fbb44049990) at gstpad.c:4203
#14 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x125e2b0, type=4112,
data=0x7fbb44049990) at gstpad.c:4455
#15 0x00007fbb7366fff6 in gst_pad_push (pad=0x125e2b0, buffer=0x7fbb44049990)
at gstpad.c:4574
#16 0x00007fbb5620b365 in gst_ebml_write_flush_cache (ebml=0x11fa8e0,
is_keyframe=0, timestamp=0) at ebml-write.c:271
#17 0x00007fbb5620c829 in gst_ebml_write_header (ebml=0x11fa8e0,
doctype=0x7fbb5624f4a0 "webm", version=2) at ebml-write.c:940
#18 0x00007fbb562369f6 in gst_matroska_mux_start (mux=0x1224230) at
matroska-mux.c:2768
#19 0x00007fbb56239d8a in gst_matroska_mux_handle_buffer (pads=0x126c0d0,
data=0x7fbb48007400, buf=0x7fbb4c041a10, user_data=0x1224230) at
matroska-mux.c:3794
#20 0x00007fbb739916f4 in gst_collect_pads_default_collected (pads=0x126c0d0,
user_data=0x0) at gstcollectpads.c:1567
#21 0x00007fbb73990f02 in gst_collect_pads_check_collected (pads=0x126c0d0) at
gstcollectpads.c:1368
#22 0x00007fbb73992fa9 in gst_collect_pads_chain (pad=0x7fbb48008040,
parent=0x1224230, buffer=0x7fbb4c041a10) at gstcollectpads.c:2216
#23 0x00007fbb75208f13 in gst_validate_pad_monitor_chain_func
(pad=0x7fbb48008040, parent=0x1224230, buffer=0x7fbb4c041a10) at
gst-validate-pad-monitor.c:2121
#24 0x00007fbb7366eb35 in gst_pad_chain_data_unchecked (pad=0x7fbb48008040,
type=4112, data=0x7fbb4c041a10) at gstpad.c:4203
#25 0x00007fbb7366f8ce in gst_pad_push_data (pad=0x7fbb48008700, type=4112,
data=0x7fbb4c041a10) at gstpad.c:4455
#26 0x00007fbb7366fff6 in gst_pad_push (pad=0x7fbb48008700,
buffer=0x7fbb4c041a10) at gstpad.c:4574
#27 0x00007fbb56495393 in gst_queue_push_one (queue=0x7fbb4800c1c0) at
gstqueue.c:1359
#28 0x00007fbb564961ab in gst_queue_loop (pad=0x7fbb48008700) at
gstqueue.c:1506
#29 0x00007fbb736aa69f in gst_task_func (task=0x7fbb4403e170) at gsttask.c:334
#30 0x00007fbb736ab858 in default_func (tdata=0x7fbb48003480, pool=0x1013910)
at gsttaskpool.c:68
#31 0x00007fbb7259927e in g_thread_pool_thread_proxy () at
/lib64/libglib-2.0.so.0
#32 0x00007fbb725988e5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#33 0x00007fbb73bb861a in start_thread () at /lib64/libpthread.so.0
#34 0x00007fbb722695fd in clone () at /lib64/libc.so.6
Thread 1 (Thread 0x7fbb75635800 (LWP 21777)):
#0 0x00007fbb7225db7d in poll () at /lib64/libc.so.6
#1 0x00007fbb7257218c in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#2 0x00007fbb72572512 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3 0x0000000000405b73 in main (argc=3, argv=0x7ffc6bc97b88) at
gst-validate-transcoding.c:967
Going to PAUSED when BUFFERING on a pipeline that is not sync on the clock is
useless so I attach here a patch that removes that behaviour in -validate but
this case should still work and defenitely not deadlock.
--
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