multiqueue: Deadlock in _sink_activate_mode when releasing pad
Submitted by Marcin Lewandowski
Link to original bug (#769764)
Description
I am using GStreamer 1.8.2 to create a pipeline that has multiple input branches, created dynamically after D-Bus method call. Each of the branch contains shmsrc do_timestamp=true is_live=true ! capsfilter. They are wrapped into bin, where capsfilter's src pad becomes ghost pad.
Each of such branches is linked with multiqueue, and multiqueue is linked to the audiomixer.
It may happen that such branches are added/removed in the runtime.
In case of adding I just create them, request new pads on the multiqueue, audiomixer and link them (no pausing or pad blocking involved).
In case of removing I just unlink the bin, release pads (no pausing or pad blocking involved).
In case of errors (e.g. when SHM socket is closed) I override bin's virtual handle_message and intercept ERROR messages (I don't want them to propagate accross whole pipeline), and remove bin using method above in the next idle cycle of the mainloop.
This is what I got today, after D-Bus call that involved adding a branch.
(gdb) thr a a bt
Thread 10 (Thread 0x7f36b491c700 (LWP 16701)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f36c121b8cf in g_cond_wait (cond=cond@entry=0x231e850, mutex=mutex@entry=0x22ba290) at gthread-posix.c:1397
#2 0x00007f36bd64ca6e in gst_multi_queue_sink_query (pad=<optimized out>, parent=0x22ba120, query=0x7f36880018f0) at gstmultiqueue.c:2192
#3 0x00007f36c08f17e8 in gst_pad_query (pad=pad@entry=0x231d490, query=query@entry=0x7f36880018f0) at gstpad.c:3922
#4 0x00007f36c08f1db3 in gst_pad_peer_query (pad=pad@entry=0x22e02c0, query=0x7f36880018f0) at gstpad.c:4054
#5 0x00007f36c08f24e3 in query_forward_func (pad=pad@entry=0x22e02c0, data=data@entry=0x7f36b491b9d0) at gstpad.c:3303
#6 0x00007f36c08f04de in gst_pad_forward (pad=pad@entry=0x22e23c0, forward=forward@entry=0x7f36c08f2430 <query_forward_func>, user_data=user_data@entry=0x7f36b491b9d0) at gstpad.c:2936
#7 0x00007f36c08f0761 in gst_pad_query_default (pad=0x22e23c0, parent=<optimized out>, query=0x7f36880018f0) at gstpad.c:3370
#8 0x00007f36c08f17e8 in gst_pad_query (pad=pad@entry=0x22e23c0, query=query@entry=0x7f36880018f0) at gstpad.c:3922
#9 0x00007f36c08f1db3 in gst_pad_peer_query (pad=0x2317230, query=query@entry=0x7f36880018f0) at gstpad.c:4054
#10 0x00007f36bd3fb962 in gst_base_transform_default_propose_allocation (trans=0x7f36a4007530, decide_query=<optimized out>, query=0x7f36880018f0) at gstbasetransform.c:1435
#11 0x00007f36bd3fe991 in gst_base_transform_default_query (trans=0x7f36a4007530, direction=<optimized out>, query=0x7f36880018f0) at gstbasetransform.c:1535
#12 0x00007f36c08f17e8 in gst_pad_query (pad=pad@entry=0x2317b30, query=query@entry=0x7f36880018f0) at gstpad.c:3922
#13 0x00007f36c08f1db3 in gst_pad_peer_query (pad=0x2317d70, query=query@entry=0x7f36880018f0) at gstpad.c:4054
#14 0x00007f36bd3f5a48 in gst_base_src_prepare_allocation (caps=0x0, basesrc=0x23209a0) at gstbasesrc.c:3137
#15 gst_base_src_negotiate (basesrc=0x23209a0) at gstbasesrc.c:3281
#16 gst_base_src_loop (pad=0x2317d70) at gstbasesrc.c:2698
#17 0x00007f36c091ded1 in gst_task_func (task=0x22b0950) at gsttask.c:332
#18 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#19 0x00007f36c11fd8e5 in g_thread_proxy (data=0x7f36900041e0) at gthread.c:778
#20 0x00007f36c0f776fa in start_thread (arg=0x7f36b491c700) at pthread_create.c:333
#21 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 9 (Thread 0x7f36a2ffd700 (LWP 16292)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f36c121b8cf in g_cond_wait (cond=cond@entry=0x22b00b0, mutex=mutex@entry=0x22b0068) at gthread-posix.c:1397
#2 0x00007f36c091e06d in gst_task_func (task=0x22b0050) at gsttask.c:317
#3 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#4 0x00007f36c11fd8e5 in g_thread_proxy (data=0x7f3694003230) at gthread.c:778
#5 0x00007f36c0f776fa in start_thread (arg=0x7f36a2ffd700) at pthread_create.c:333
#6 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 8 (Thread 0x7f36a37fe700 (LWP 16129)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f36c121b8cf in g_cond_wait (cond=cond@entry=0x21baa88, mutex=mutex@entry=0x21baa78) at gthread-posix.c:1397
#2 0x00007f36bd409872 in _gst_data_queue_wait_non_empty (queue=queue@entry=0x21baad0) at gstdataqueue.c:553
#3 0x00007f36bd40ab90 in gst_data_queue_pop (queue=0x21baad0, item=item@entry=0x7f36a37fde40) at gstdataqueue.c:595
#4 0x00007f36bd6516d5 in gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1575
#5 0x00007f36c091ded1 in gst_task_func (task=0x22b0cb0) at gsttask.c:332
#6 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#7 0x00007f36c11fd8e5 in g_thread_proxy (data=0x7f3690001a30) at gthread.c:778
#8 0x00007f36c0f776fa in start_thread (arg=0x7f36a37fe700) at pthread_create.c:333
#9 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 7 (Thread 0x7f36b5530700 (LWP 21373)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f36c121b8cf in g_cond_wait (cond=0x22e89b0, mutex=0x22e89a8) at gthread-posix.c:1397
#2 0x00007f36bc8c93d3 in gst_aggregator_pad_chain_internal (self=0x22bf940, aggpad=0x22e8a00, buffer=0x7f369c01aad0, head=1) at gstaggregator.c:2187
#3 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c01aad0, type=4112, pad=0x22e8a00) at gstpad.c:4177
#4 gst_pad_push_data (pad=pad@entry=0x22c18f0, type=type@entry=4112, data=data@entry=0x7f369c01aad0) at gstpad.c:4429
#5 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c18f0, buffer=buffer@entry=0x7f369c01aad0) at gstpad.c:4548
#6 0x00007f36bd652124 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7f369c01aad0, sq=0x22e77f0, mq=0x22ba120) at gstmultiqueue.c:1417
#7 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1701
#8 0x00007f36c091ded1 in gst_task_func (task=0x22b03b0) at gsttask.c:332
#9 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#10 0x00007f36c11fd8e5 in g_thread_proxy (data=0x22bf280) at gthread.c:778
#11 0x00007f36c0f776fa in start_thread (arg=0x7f36b5530700) at pthread_create.c:333
#12 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 6 (Thread 0x7f36b5d31700 (LWP 21372)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f36c121b8cf in g_cond_wait (cond=cond@entry=0x21ba9e0, mutex=mutex@entry=0x21ba9b8) at gthread-posix.c:1397
#2 0x00007f36bd40a602 in gst_data_queue_push (queue=0x21baa10, item=item@entry=0x7f3694004120) at gstdataqueue.c:520
#3 0x00007f36bd650ad5 in gst_multi_queue_chain (pad=<optimized out>, parent=<optimized out>, buffer=0x7f36a4029d20) at gstmultiqueue.c:1890
#4 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f36a4029d20, type=4112, pad=0x22c16b0) at gstpad.c:4177
#5 gst_pad_push_data (pad=pad@entry=0x22c1470, type=type@entry=4112, data=data@entry=0x7f36a4029d20) at gstpad.c:4429
#6 0x00007f36c08f34d3 in gst_pad_push (pad=pad@entry=0x22c1470, buffer=0x7f36a4029d20) at gstpad.c:4548
#7 0x00007f36bd3f58d5 in gst_base_src_loop (pad=0x22c1470) at gstbasesrc.c:2850
#8 0x00007f36c091ded1 in gst_task_func (task=0x22b04d0) at gsttask.c:332
#9 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#10 0x00007f36c11fd8e5 in g_thread_proxy (data=0x22eaad0) at gthread.c:778
#11 0x00007f36c0f776fa in start_thread (arg=0x7f36b5d31700) at pthread_create.c:333
#12 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 5 (Thread 0x7f36b6532700 (LWP 21371)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f36c121b8cf in g_cond_wait (cond=cond@entry=0x22d83a8, mutex=mutex@entry=0x22d8380) at gthread-posix.c:1397
#2 0x00007f36bd656166 in gst_queue_chain_buffer_or_list (parent=0x22d8100, obj=0x7f369c0226f0, is_list=0, pad=<optimized out>) at gstqueue.c:1225
#3 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c0226f0, type=4112, pad=0x22c0ff0) at gstpad.c:4177
#4 gst_pad_push_data (pad=pad@entry=0x22c0db0, type=type@entry=4112, data=data@entry=0x7f369c0226f0) at gstpad.c:4429
#5 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c0db0, buffer=0x7f369c0226f0) at gstpad.c:4548
#6 0x00007f36bd3f9fad in gst_base_transform_chain (pad=<optimized out>, parent=0x22d64e0, buffer=<optimized out>) at gstbasetransform.c:2369
#7 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c0226f0, type=4112, pad=0x22c0b70) at gstpad.c:4177
#8 gst_pad_push_data (pad=pad@entry=0x22c0930, type=type@entry=4112, data=data@entry=0x7f369c0226f0) at gstpad.c:4429
#9 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c0930, buffer=0x7f369c0226f0) at gstpad.c:4548
#10 0x00007f36bd3f9fad in gst_base_transform_chain (pad=<optimized out>, parent=0x22d42d0, buffer=<optimized out>) at gstbasetransform.c:2369
#11 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c0226f0, type=4112, pad=0x22c06f0) at gstpad.c:4177
#12 gst_pad_push_data (pad=pad@entry=0x22c04b0, type=type@entry=4112, data=data@entry=0x7f369c0226f0) at gstpad.c:4429
#13 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c04b0, buffer=0x7f369c0226f0) at gstpad.c:4548
#14 0x00007f36bd3f9fad in gst_base_transform_chain (pad=<optimized out>, parent=0x22c4bd0, buffer=<optimized out>) at gstbasetransform.c:2369
#15 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c0114b0, type=4112, pad=0x22c0270) at gstpad.c:4177
#16 gst_pad_push_data (pad=pad@entry=0x22c0030, type=type@entry=4112, data=data@entry=0x7f369c0114b0) at gstpad.c:4429
#17 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c0030, buffer=buffer@entry=0x7f369c0114b0) at gstpad.c:4548
#18 0x00007f36bc8cb788 in gst_aggregator_finish_buffer (self=self@entry=0x22bf940, buffer=0x7f369c0114b0) at gstaggregator.c:579
#19 0x00007f36bcfb4e86 in gst_audio_aggregator_aggregate (agg=0x22bf940, timeout=0) at gstaudioaggregator.c:1357
#20 0x00007f36bc8cbe53 in gst_aggregator_aggregate_func (self=0x22bf940) at gstaggregator.c:816
#21 0x00007f36c091ded1 in gst_task_func (task=0x22b0290) at gsttask.c:332
#22 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#23 0x00007f36c11fd8e5 in g_thread_proxy (data=0x22bf2d0) at gthread.c:778
#24 0x00007f36c0f776fa in start_thread (arg=0x7f36b6532700) at pthread_create.c:333
#25 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 4 (Thread 0x7f36b6d33700 (LWP 21370)):
#0 0x00007f36c0ca1f51 in __GI_ppoll (fds=0x7f36ac01deb0, nfds=1, timeout=<optimized out>, timeout@entry=0x7f36b6d32410, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1 0x00007f36c0900878 in ppoll (__ss=0x0, __timeout=0x7f36b6d32410, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2 gst_poll_wait (set=0x22eab70, timeout=timeout@entry=24000000) at gstpoll.c:1248
#3 0x00007f36b7599032 in gst_shout2send_render (basesink=0x22f5210, buf=0x7f369c0501f0) at gstshout2.c:648
#4 0x00007f36bd3eecca in gst_base_sink_chain_unlocked (basesink=basesink@entry=0x22f5210, obj=obj@entry=0x7f369c0501f0, is_list=is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3532
#5 0x00007f36bd3f0150 in gst_base_sink_chain_main (basesink=0x22f5210, pad=<optimized out>, obj=0x7f369c0501f0, is_list=0) at gstbasesink.c:3655
#6 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c0501f0, type=4112, pad=0x22ee030) at gstpad.c:4177
#7 gst_pad_push_data (pad=pad@entry=0x22c1d70, type=type@entry=4112, data=data@entry=0x7f369c0501f0) at gstpad.c:4429
#8 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c1d70, buffer=0x7f369c0501f0) at gstpad.c:4548
#9 0x00007f36bcd7e834 in gst_audio_encoder_finish_frame (enc=enc@entry=0x22ebe20, buf=0x7f369c0501f0, samples=<optimized out>, samples@entry=1152) at gstaudioencoder.c:1001
#10 0x00007f36b79ebd12 in gst_lamemp3enc_finish_frames (lame=lame@entry=0x22ebe20) at gstlamemp3enc.c:692
#11 0x00007f36b79ec157 in gst_lamemp3enc_handle_frame (enc=0x22ebe20, in_buf=0x7f369c019400) at gstlamemp3enc.c:807
#12 0x00007f36bcd7f43d in gst_audio_encoder_push_buffers (enc=enc@entry=0x22ebe20, force=force@entry=0) at gstaudioencoder.c:1127
#13 0x00007f36bcd80568 in gst_audio_encoder_chain (pad=<optimized out>, parent=0x22ebe20, buffer=0x7f369c022e60) at gstaudioencoder.c:1346
#14 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c022e60, type=4112, pad=0x22c1b30) at gstpad.c:4177
#15 gst_pad_push_data (pad=pad@entry=0x22e0050, type=type@entry=4112, data=data@entry=0x7f369c022e60) at gstpad.c:4429
#16 0x00007f36c08f34d3 in gst_pad_push (pad=pad@entry=0x22e0050, buffer=buffer@entry=0x7f369c022e60) at gstpad.c:4548
#17 0x00007f36c08dc573 in gst_proxy_pad_chain_default (pad=0x22e2170, parent=<optimized out>, buffer=0x7f369c022e60) at gstghostpad.c:126
#18 0x00007f36c08eb59f in gst_pad_chain_data_unchecked (data=0x7f369c022e60, type=4112, pad=0x22e2170) at gstpad.c:4177
#19 gst_pad_push_data (pad=pad@entry=0x22c1230, type=type@entry=4112, data=data@entry=0x7f369c022e60) at gstpad.c:4429
#20 0x00007f36c08f34d3 in gst_pad_push (pad=0x22c1230, buffer=buffer@entry=0x7f369c022e60) at gstpad.c:4548
#21 0x00007f36bd655a79 in gst_queue_push_one (queue=0x22d8100) at gstqueue.c:1362
#22 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1509
#23 0x00007f36c091ded1 in gst_task_func (task=0x22b0170) at gsttask.c:332
#24 0x00007f36c11fe27e in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#25 0x00007f36c11fd8e5 in g_thread_proxy (data=0x22eaca0) at gthread.c:778
#26 0x00007f36c0f776fa in start_thread (arg=0x7f36b6d33700) at pthread_create.c:333
#27 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 3 (Thread 0x7f36be083700 (LWP 21369)):
#0 0x00007f36c0ca1e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007f36c11d71dc in g_main_context_poll (priority=2147483647, n_fds=2, fds=0x7f36b00010c0, timeout=<optimized out>, context=0x21c4a70) at gmain.c:4264
#2 g_main_context_iterate (context=0x21c4a70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3964
#3 0x00007f36c11d7562 in g_main_loop_run (loop=0x22a96e0) at gmain.c:4163
#4 0x00007f36c17f8276 in gdbus_shared_thread_func (user_data=0x21c4a40) at gdbusprivate.c:246
#5 0x00007f36c11fd8e5 in g_thread_proxy (data=0x223c540) at gthread.c:778
#6 0x00007f36c0f776fa in start_thread (arg=0x7f36be083700) at pthread_create.c:333
#7 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 2 (Thread 0x7f36be884700 (LWP 21368)):
#0 0x00007f36c0ca1e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007f36c11d71dc in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f36b80008c0, timeout=<optimized out>, context=0x22a57a0) at gmain.c:4264
#2 g_main_context_iterate (context=context@entry=0x22a57a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3964
#3 0x00007f36c11d72ec in g_main_context_iteration (context=0x22a57a0, may_block=may_block@entry=1) at gmain.c:4030
#4 0x00007f36c11d7329 in glib_worker_main (data=<optimized out>) at gmain.c:5801
#5 0x00007f36c11fd8e5 in g_thread_proxy (data=0x223c4f0) at gthread.c:778
#6 0x00007f36c0f776fa in start_thread (arg=0x7f36be884700) at pthread_create.c:333
#7 0x00007f36c0cadb5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 1 (Thread 0x7f36c216e700 (LWP 21367)):
#0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007f36c0f79e82 in __GI___pthread_mutex_lock (mutex=0x2313fd0) at ../nptl/pthread_mutex_lock.c:115
#2 0x00007f36bd64cc18 in gst_multi_queue_sink_activate_mode (pad=0x231d490, parent=<optimized out>, mode=GST_PAD_MODE_PUSH, active=0) at gstmultiqueue.c:1948
#3 0x00007f36c08ef68d in activate_mode_internal (pad=pad@entry=0x231d490, parent=parent@entry=0x22ba120, mode=mode@entry=GST_PAD_MODE_PUSH, active=active@entry=0) at gstpad.c:1176
#4 0x00007f36c08efdcd in gst_pad_set_active (pad=0x231d490, active=active@entry=0) at gstpad.c:1077
#5 0x00007f36bd64be95 in gst_multi_queue_release_pad (element=0x22ba120, pad=0x231d490) at gstmultiqueue.c:803
#6 0x00007f36c1d53a69 in my_app_core_common_input_bin_remove_input_unlocked (self=self@entry=0x22b40f0, model=model@entry=0x2301780 "Media.Input.File.MyApp.Model", id=id@entry=0x22f6660 "1ec0798f-7abb-4f09-91ca-ec79683ea509") at input_bin.c:1223
#7 0x00007f36c1d53ff3 in my_app_core_common_input_bin_add_input_unlocked (self=0x22b40f0, model=0x2301780 "Media.Input.File.MyApp.Model", id=0x22f6660 "1ec0798f-7abb-4f09-91ca-ec79683ea509") at input_bin.c:839
#8 0x00007f36c1d5524b in my_app_core_common_input_bin_sync_inputs (self=<optimized out>, target_linked_inputs=target_linked_inputs@entry=0x22f7020, target_linked_inputs_length1=target_linked_inputs_length1@entry=2) at input_bin.c:663
#9 0x00007f36c1d4fec9 in my_app_core_common_player_stream_real_sync_inputs (base=<optimized out>, linked_inputs=0x22f7020, linked_inputs_length1=2) at player.c:1252
#10 0x00007f36c1d4e41e in _dbus_my_app_core_common_daemon_media_output_base_sync_linked_inputs (self=0x21b10a0, _parameters_=<optimized out>, invocation=0x7f3690001ca0) at daemon/media/output/base.c:879
#11 0x00007f36c17e89bc in call_in_idle_cb (user_data=0x7f3690001ca0) at gdbusconnection.c:4832
#12 0x00007f36c11d6e9a in g_main_dispatch (context=0x21af730) at gmain.c:3237
#13 g_main_context_dispatch (context=context@entry=0x21af730) at gmain.c:3898
#14 0x00007f36c11d7240 in g_main_context_iterate (context=0x21af730, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3969
#15 0x00007f36c11d7562 in g_main_loop_run (loop=0x21af7f0) at gmain.c:4163
#16 0x00007f36c1abb969 in my_app_common_app_template_base_start_real (self=self@entry=0x21b10a0) at app/template/base.c:682
#17 0x00007f36c1abbf79 in my_app_common_app_template_base_start (self=self@entry=0x21b10a0) at app/template/base.c:470
#18 0x0000000000401ab8 in my_app_core_media_output_stream_rk_diffusor_main (argv=0x7fffbafd3d58, argv_length1=2) at main.c:38
#19 0x00007f36c0bc7830 in __libc_start_main (main=0x401980 <main>, argc=2, argv=0x7fffbafd3d58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffbafd3d48) at ../csu/libc-start.c:291
#20 0x00000000004019b9 in _start ()
Version: 1.8.2