[Bug 763491] typefind: behavior has changed on have-type signal, sets pad caps after signal handlers
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Mar 14 11:26:18 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=763491
--- Comment #23 from Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> ---
With the four patches in this bug, I got the original test case from
https://bugzilla.gnome.org/show_bug.cgi?id=752623 to crash after 6 minutes (so
still a fair bit better than it used to be):
Thread 7 (Thread 0x7f7ade9c6700 (LWP 19287)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1 0x00007f7ae8658f25 in g_cond_wait_until (cond=0x1d1cb08, mutex=<optimised
out>, end_time=<optimised out>)
at gthread-posix.c:892
#2 0x00007f7ae85ec6c1 in g_async_queue_pop_intern_unlocked (queue=0x1d1cb00,
wait=1, end_time=2070868047565)
at gasyncqueue.c:422
#3 0x00007f7ae863bb8a in g_thread_pool_wait_for_new_task (pool=0x1d1caa0) at
gthreadpool.c:262
#4 g_thread_pool_thread_proxy (data=<optimised out>) at gthreadpool.c:296
#5 0x00007f7ae863b305 in g_thread_proxy (data=0x7f7ad8029de0) at gthread.c:764
#6 0x00007f7ae83b7e9a in start_thread (arg=0x7f7ade9c6700) at
pthread_create.c:308
#7 0x00007f7ae80e538d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8 0x0000000000000000 in ?? ()
Thread 6 (Thread 0x7f7ae9066700 (LWP 19283)):
#0 __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:132
#1 0x00007f7ae83ba080 in _L_lock_903 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007f7ae83b9f19 in __pthread_mutex_lock (mutex=0x7f7acc1cdfc0) at
pthread_mutex_lock.c:82
#3 0x00007f7ae8bc42c8 in post_activate (new_mode=<optimised out>,
pad=0x7f7acc1d5440) at gstpad.c:1007
#4 gst_pad_activate_mode (pad=0x7f7acc1d5440, mode=GST_PAD_MODE_PUSH,
active=0) at gstpad.c:1195
#5 0x00007f7ae8bc4b50 in gst_pad_set_active (pad=0x7f7acc1d5440, active=0) at
gstpad.c:1072
#6 0x00007f7ae8ba551d in activate_pads (vpad=<optimised out>,
ret=0x7ffc0c5d9710, active=0x7ffc0c5d976c)
at gstelement.c:2736
#7 0x00007f7ae8bb631c in gst_iterator_fold (it=0x7f7ac40018c0,
func=0x7f7ae8ba54f0 <activate_pads>,
ret=0x7ffc0c5d9710, user_data=0x7ffc0c5d976c) at gstiterator.c:614
#8 0x00007f7ae8ba5855 in iterator_activate_fold_with_resync
(iter=0x7f7ac40018c0, user_data=0x7ffc0c5d976c,
func=0x7f7ae8ba54f0 <activate_pads>) at gstelement.c:2760
#9 0x00007f7ae8ba7646 in gst_element_pads_activate (element=0x7f7acc01a010,
active=0) at gstelement.c:2796
#10 0x00007f7ae8ba79ee in gst_element_change_state_func
(element=0x7f7acc01a010, transition=<optimised out>)
at gstelement.c:2870
#11 0x00007f7ae49ae5e6 in gst_ogg_demux_change_state (element=0x7f7acc01a010,
---Type <return> to continue, or q <return> to quit---
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstoggdemux.c:5075
#12 0x00007f7ae8ba9ad0 in gst_element_change_state (element=0x7f7acc01a010,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2648
#13 0x00007f7ae8baa59f in gst_element_set_state_func (element=0x7f7acc01a010,
state=GST_STATE_NULL)
at gstelement.c:2602
#14 0x00007f7ae6de6b4f in gst_decode_chain_free_internal (chain=0x7f7ae0023e70,
hide=0) at gstdecodebin2.c:3456
#15 0x00007f7ae6de7275 in gst_decode_chain_free (chain=0x7f7ae0023e70) at
gstdecodebin2.c:3475
#16 gst_decode_bin_change_state (element=0x2091af0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY)
at gstdecodebin2.c:5238
#17 0x00007f7ae8ba9ad0 in gst_element_change_state (element=0x2091af0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2648
#18 0x00007f7ae8baa59f in gst_element_set_state_func (element=0x2091af0,
state=GST_STATE_READY)
at gstelement.c:2602
#19 0x00007f7ae8b88250 in gst_bin_element_set_state (next=GST_STATE_READY,
current=GST_STATE_PAUSED,
start_time=0, base_time=0, element=0x2091af0, bin=0x20840c0) at
gstbin.c:2414
#20 gst_bin_change_state_func (element=0x20840c0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2756
#21 0x00007f7ae6df0c80 in gst_uri_decode_bin_change_state (element=0x20840c0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gsturidecodebin.c:2752
#22 0x00007f7ae8ba9ad0 in gst_element_change_state (element=0x20840c0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2648
#23 0x00007f7ae8baa59f in gst_element_set_state_func (element=0x20840c0,
state=GST_STATE_READY)
at gstelement.c:2602
#24 0x00007f7ae8b88250 in gst_bin_element_set_state (next=GST_STATE_READY,
current=GST_STATE_PAUSED,
start_time=0, base_time=0, element=0x20840c0, bin=0x2074140) at
gstbin.c:2414
#25 gst_bin_change_state_func (element=0x2074140,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2756
#26 0x00007f7ae8ba9ad0 in gst_element_change_state (element=0x2074140,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2648
#27 0x00007f7ae8baa59f in gst_element_set_state_func (element=0x2074140,
state=GST_STATE_NULL)
at gstelement.c:2602
#28 0x000000000040138b in main ()
---Type <return> to continue, or q <return> to quit---
Thread 5 (Thread 0x7f7ae5ff9700 (LWP 19285)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1 0x00007f7ae8658f25 in g_cond_wait_until (cond=0x1d1cb08, mutex=<optimised
out>, end_time=<optimised out>)
at gthread-posix.c:892
#2 0x00007f7ae85ec6c1 in g_async_queue_pop_intern_unlocked (queue=0x1d1cb00,
wait=1, end_time=2070868046613)
at gasyncqueue.c:422
#3 0x00007f7ae863bb8a in g_thread_pool_wait_for_new_task (pool=0x1d1caa0) at
gthreadpool.c:262
#4 g_thread_pool_thread_proxy (data=<optimised out>) at gthreadpool.c:296
#5 0x00007f7ae863b305 in g_thread_proxy (data=0x2073540) at gthread.c:764
#6 0x00007f7ae83b7e9a in start_thread (arg=0x7f7ae5ff9700) at
pthread_create.c:308
#7 0x00007f7ae80e538d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8 0x0000000000000000 in ?? ()
Thread 4 (Thread 0x7f7ae55e0700 (LWP 19286)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1 0x00007f7ae8658f25 in g_cond_wait_until (cond=0x1d1cb08, mutex=<optimised
out>, end_time=<optimised out>)
at gthread-posix.c:892
#2 0x00007f7ae85ec6c1 in g_async_queue_pop_intern_unlocked (queue=0x1d1cb00,
wait=1, end_time=2070868040429)
at gasyncqueue.c:422
#3 0x00007f7ae863bb8a in g_thread_pool_wait_for_new_task (pool=0x1d1caa0) at
gthreadpool.c:262
#4 g_thread_pool_thread_proxy (data=<optimised out>) at gthreadpool.c:296
#5 0x00007f7ae863b305 in g_thread_proxy (data=0x1db8f20) at gthread.c:764
#6 0x00007f7ae83b7e9a in start_thread (arg=0x7f7ae55e0700) at
pthread_create.c:308
#7 0x00007f7ae80e538d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8 0x0000000000000000 in ?? ()
Thread 3 (Thread 0x7f7add2c0700 (LWP 19289)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1 0x00007f7ae8658f25 in g_cond_wait_until (cond=0x1d1cb08, mutex=<optimised
out>, end_time=<optimised out>)
at gthread-posix.c:892
#2 0x00007f7ae85ec6c1 in g_async_queue_pop_intern_unlocked (queue=0x1d1cb00,
wait=1, end_time=2070868040489)
---Type <return> to continue, or q <return> to quit---
at gasyncqueue.c:422
#3 0x00007f7ae863bb8a in g_thread_pool_wait_for_new_task (pool=0x1d1caa0) at
gthreadpool.c:262
#4 g_thread_pool_thread_proxy (data=<optimised out>) at gthreadpool.c:296
#5 0x00007f7ae863b305 in g_thread_proxy (data=0x1da9800) at gthread.c:764
#6 0x00007f7ae83b7e9a in start_thread (arg=0x7f7add2c0700) at
pthread_create.c:308
#7 0x00007f7ae80e538d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8 0x0000000000000000 in ?? ()
Thread 2 (Thread 0x7f7adcabf700 (LWP 19290)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1 0x00007f7ae8658f25 in g_cond_wait_until (cond=0x1d1cb08, mutex=<optimised
out>, end_time=<optimised out>)
at gthread-posix.c:892
#2 0x00007f7ae85ec6c1 in g_async_queue_pop_intern_unlocked (queue=0x1d1cb00,
wait=1, end_time=2070868047009)
at gasyncqueue.c:422
#3 0x00007f7ae863bb8a in g_thread_pool_wait_for_new_task (pool=0x1d1caa0) at
gthreadpool.c:262
#4 g_thread_pool_thread_proxy (data=<optimised out>) at gthreadpool.c:296
#5 0x00007f7ae863b305 in g_thread_proxy (data=0x1d0d2d0) at gthread.c:764
#6 0x00007f7ae83b7e9a in start_thread (arg=0x7f7adcabf700) at
pthread_create.c:308
#7 0x00007f7ae80e538d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7f7addac1700 (LWP 19288)):
#0 0x00007f7ae8ba82f7 in gst_element_get_request_pad (element=<optimised out>,
name=0x7f7ae6e1962e "sink_%u")
at gstelement.c:1009
#1 0x00007f7ae6de4d0c in gst_decode_group_control_demuxer_pad
(group=0x7f7ad8004570, pad=0x7f7acc1d5440)
at gstdecodebin2.c:3825
#2 0x00007f7ae6de0fe2 in connect_pad (dbin=0x2091af0, src=0x7f7acc01a010,
dpad=0x7f7ad8009030,
pad=0x7f7acc1d5440, caps=0x7f7ac41e18a0, factories=0x1f11860,
chain=0x7f7acc020920,
deadend_details=0x7f7addac0590) at gstdecodebin2.c:2112
#3 0x00007f7ae6dec6f8 in analyze_new_pad (dbin=0x2091af0, src=<optimised out>,
pad=0x7f7acc1d5440,
caps=0x7f7ac41e18a0, chain=<optimised out>, new_chain=<optimised out>) at
gstdecodebin2.c:1805
---Type <return> to continue, or q <return> to quit---
#4 0x00007f7ae6decf7c in pad_added_cb (element=0x7f7acc01a010,
pad=0x7f7acc1d5440, chain=0x7f7ae0023e70)
at gstdecodebin2.c:2924
#5 0x00007f7ae8911d24 in g_cclosure_marshal_VOID__OBJECTv
(closure=0x7f7ad41da5b0, return_value=<optimised out>,
instance=0x7f7acc01a010, args=<optimised out>, marshal_data=<optimised
out>, n_params=<optimised out>,
param_types=0x1d11850) at gmarshal.c:1312
#6 0x00007f7ae890e79a in _g_closure_invoke_va (closure=0x7f7ad41da5b0,
return_value=0x0,
instance=0x7f7acc01a010, args=0x7f7addac0948, n_params=1,
param_types=<optimised out>) at gclosure.c:831
#7 0x00007f7ae8929027 in g_signal_emit_valist (instance=0x7f7acc01a010,
signal_id=<optimised out>, detail=0,
var_args=<optimised out>) at gsignal.c:3215
#8 0x00007f7ae8929c12 in g_signal_emit (instance=<optimised out>,
signal_id=<optimised out>,
detail=<optimised out>) at gsignal.c:3363
#9 0x00007f7ae8ba6640 in gst_element_add_pad (element=0x7f7acc01a010,
pad=0x7f7acc1d5440) at gstelement.c:704
#10 0x00007f7ae49a8a48 in gst_ogg_demux_activate_chain (ogg=0x7f7acc01a010,
chain=0x7f7ad022c4f0,
event=0x7f7ae005d400) at gstoggdemux.c:2948
#11 0x00007f7ae49a9966 in gst_ogg_demux_perform_seek_pull (ogg=<optimised out>,
event=0x0) at gstoggdemux.c:3607
#12 0x00007f7ae49b2590 in gst_ogg_demux_loop (pad=<optimised out>) at
gstoggdemux.c:4782
#13 0x00007f7ae8bf3339 in gst_task_func (task=0x7f7ad8042710) at gsttask.c:332
#14 0x00007f7ae863bb68 in g_thread_pool_thread_proxy (data=<optimised out>) at
gthreadpool.c:307
#15 0x00007f7ae863b305 in g_thread_proxy (data=0x7f7ad8029f70) at gthread.c:764
#16 0x00007f7ae83b7e9a in start_thread (arg=0x7f7addac1700) at
pthread_create.c:308
#17 0x00007f7ae80e538d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#18 0x0000000000000000 in ?? ()
--
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