Force stopping a gstreamer pipeline

Thomas Scheuermann scheuermann at barco.com
Mon Jun 6 15:13:32 UTC 2016



Am 06.06.2016 um 16:57 schrieb Sebastian Dröge:

On Mo, 2016-06-06 at 16:45 +0200, Thomas Scheuermann wrote:


Hi,

Here is a sample code of a deadlock. I think, it is in
jackaudiosink.
If you restart the jack daemon while the pipeline is playing, the
pipeline can't be stopped anymore.



Can you get a backtrace of all threads when it deadlocks?


Here is the backtrace:

(gdb) thread apply all bt

Thread 4 (Thread 0x7f6d87201700 (LWP 4362)):
#0  0x00007f6d8527b08f in pthread_cond_wait@@GLIBC_2.3.2<mailto:pthread_cond_wait@@GLIBC_2.3.2> () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f6d83282d3c in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#2  0x00007f6d83279ea8 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#3  0x00007f6d83281d20 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#4  0x00007f6d852770a4 in start_thread (arg=0x7f6d87201700) at pthread_create.c:309
#5  0x00007f6d8587587d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f6d870ea700 (LWP 4364)):
#0  0x00007f6d8527d130 in sem_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S:101
#1  0x00007f6d8328285e in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#2  0x00007f6d8326af9d in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#3  0x00007f6d8326a11f in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#4  0x00007f6d83269468 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#5  0x00007f6d83281d20 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#6  0x00007f6d852770a4 in start_thread (arg=0x7f6d870ea700) at pthread_create.c:309
#7  0x00007f6d8587587d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f6d82aec700 (LWP 4365)):
#0  0x00007f6d85871809 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f6d8611b0bf in g_cond_wait (cond=0xc4e268, mutex=0xc4e228) at /home/barco/glib2.0-2.46.0/./glib/gthread-posix.c:1397
#2  0x00007f6d83d74123 in wait_segment (buf=0xc4e210 [GstJackAudioSinkRingBuffer]) at gstaudioringbuffer.c:1319
#3  0x00007f6d83d746b8 in default_commit (buf=0xc4e210 [GstJackAudioSinkRingBuffer], sample=0x80, data=0x3ce <error: Cannot access memory at address 0x3ce>, in_samples=1023, out_samples=1023, accum=0xc4e210)
    at gstaudioringbuffer.c:1553
#4  0x00007f6d83d8ebfa in gst_audio_base_sink_render (bsink=0xc3f680 [GstJackAudioSink], buf=<optimized out>) at gstaudiobasesink.c:2162
#5  0x00007f6d86942242 in gst_base_sink_chain_unlocked (basesink=0xc3f680 [GstJackAudioSink], obj=0x7f6d7001b500, is_list=974, is_list at entry=0, pad=<optimized out>) at gstbasesink.c:3532
#6  0x00007f6d86943484 in gst_base_sink_chain_main (basesink=0xc3f680 [GstJackAudioSink], pad=<optimized out>, obj=0x7f6d7001b500, is_list=0) at gstbasesink.c:3655
#7  0x00007f6d8665caea in gst_pad_push_data (data=<optimized out>, type=<optimized out>, pad=<optimized out>) at gstpad.c:4176
#8  0x00007f6d8665caea in gst_pad_push_data (pad=0xc3a4f0 [GstPad], type=2257860000, data=0x7f6d7001b500) at gstpad.c:4428
#9  0x00007f6d866647de in gst_pad_push (pad=0xc3a4f0 [GstPad], buffer=0x7f6d7001b500) at gstpad.c:4547
#10 0x00007f6d8694d22d in gst_base_transform_chain (pad=0xc4e270, parent=0xc40230 [GstCapsFilter], buffer=0x0) at gstbasetransform.c:2369
#11 0x00007f6d8665caea in gst_pad_push_data (data=<optimized out>, type=<optimized out>, pad=<optimized out>) at gstpad.c:4176
#12 0x00007f6d8665caea in gst_pad_push_data (pad=0xc3a070 [GstPad], type=2257899664, data=0x7f6d7001b500) at gstpad.c:4428
#13 0x00007f6d866647de in gst_pad_push (pad=0xc3a070 [GstPad], buffer=0x7f6d7001b500) at gstpad.c:4547
#14 0x00007f6d86948e85 in gst_base_src_loop (pad=0xc3a070 [GstPad]) at gstbasesrc.c:2850
#15 0x00007f6d8668efc1 in gst_task_func (task=0xc5d050 [GstTask]) at gsttask.c:332
#16 0x00007f6d860fdda8 in g_thread_pool_thread_proxy (data=<optimized out>) at /home/barco/glib2.0-2.46.0/./glib/gthreadpool.c:307
#17 0x00007f6d860fd415 in g_thread_proxy (data=0xc4d400) at /home/barco/glib2.0-2.46.0/./glib/gthread.c:778
#18 0x00007f6d852770a4 in start_thread (arg=0x7f6d82aec700) at pthread_create.c:309
#19 0x00007f6d8587587d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f6d87203700 (LWP 4361)):
#0  0x00007f6d85868e0d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f6d858023a0 in _IO_new_file_underflow (fp=0x7f6d85b334e0 <_IO_2_1_stdin_>) at fileops.c:605
#2  0x00007f6d858031ce in __GI__IO_default_uflow (fp=0x7f6d85b334e0 <_IO_2_1_stdin_>) at genops.c:435
#3  0x00007f6d857febaa in getchar () at getchar.c:37
#4  0x0000000000400dbe in main (argc=1, argv=0x7ffcecaf0068) at deadlock.c:43







_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160606/e7167154/attachment-0001.html>


More information about the gstreamer-devel mailing list