[Bug 747275] jackaudiosink: hangs when jackd exits

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jun 10 07:21:26 UTC 2016


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

--- Comment #4 from Thomas Scheuermann <scheuermann at barco.com> ---
Created attachment 329532
  --> https://bugzilla.gnome.org/attachment.cgi?id=329532&action=edit
Test program for reproducing the deadlock

The test program can be used to reproduce the deadlock. In the deadlock
situation I get the following backtracesafter setting the pipeline state to
GST_STATE_NULL.

(gdb) thread apply all bt

Thread 4 (Thread 0x7fdaf257d700 (LWP 30038)):
#0  0x00007fdaf05f708f in pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fdaee5fed3c in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#2  0x00007fdaee5f5ea8 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#3  0x00007fdaee5fdd20 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#4  0x00007fdaf05f30a4 in start_thread (arg=0x7fdaf257d700) at
pthread_create.c:309
#5  0x00007fdaf0bf187d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fdaf2466700 (LWP 30041)):
#0  0x00007fdaf05f9130 in sem_timedwait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S:101
#1  0x00007fdaee5fe85e in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#2  0x00007fdaee5e6f9d in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#3  0x00007fdaee5e611f in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#4  0x00007fdaee5e5468 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#5  0x00007fdaee5fdd20 in  () at /usr/lib/x86_64-linux-gnu/libjack.so.0
#6  0x00007fdaf05f30a4 in start_thread (arg=0x7fdaf2466700) at
pthread_create.c:309
#7  0x00007fdaf0bf187d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fdaede68700 (LWP 30048)):
#0  0x00007fdaf0bed809 in syscall () at
../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fdaf14970bf in g_cond_wait (cond=0x10c60b0, mutex=0x10c6068) at
/home/barco/glib2.0-2.46.0/./glib/gthread-posix.c:1397
#2  0x00007fdaf1a0b15d in gst_task_func (task=0x10c6050 [GstTask]) at
gsttask.c:317
#3  0x00007fdaf1479da8 in g_thread_pool_thread_proxy (data=<optimized out>) at
/home/barco/glib2.0-2.46.0/./glib/gthreadpool.c:307
#4  0x00007fdaf1479415 in g_thread_proxy (data=0x10b5c00) at
/home/barco/glib2.0-2.46.0/./glib/gthread.c:778
#5  0x00007fdaf05f30a4 in start_thread (arg=0x7fdaede68700) at
pthread_create.c:309
#6  0x00007fdaf0bf187d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fdaf257f700 (LWP 30037)):
#0  0x00007fdaf0bed809 in syscall () at
../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fdaf14970bf in g_cond_wait (cond=0x10b3e80, mutex=0x10b3e78) at
/home/barco/glib2.0-2.46.0/./glib/gthread-posix.c:1397
#2  0x00007fdaee824640 in gst_jack_audio_client_set_active (client=0x10b3f10,
active=0) at gstjackaudioclient.c:604
#3  0x00007fdaee821ea4 in gst_jack_ring_buffer_release (buf=0x10b6210
[GstJackAudioSinkRingBuffer]) at gstjackaudiosink.c:544
#4  0x00007fdaef0f19b8 in gst_audio_ring_buffer_release (buf=0x10b6210
[GstJackAudioSinkRingBuffer]) at gstaudioringbuffer.c:693
#5  0x00007fdaef10f108 in gst_audio_base_sink_change_state (element=0x10a7a80
[GstJackAudioSink], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at
gstaudiobasesink.c:2507
#6  0x00007fdaf19c337e in gst_element_change_state (element=0x10a7a80
[GstJackAudioSink], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at
gstelement.c:2648
#7  0x00007fdaf19c3afa in gst_element_set_state_func (element=0x10a7a80
[GstJackAudioSink], state=GST_STATE_READY) at gstelement.c:2602
#8  0x00007fdaf19a245d in gst_bin_change_state_func (next=<optimized out>,
current=<optimized out>, start_time=<optimized out>, base_time=<optimized out>,
element=<optimized out>, bin=<optimized out>) at gstbin.c:2414
#9  0x00007fdaf19a245d in gst_bin_change_state_func (element=0x0,
transition=128) at gstbin.c:2756
#10 0x00007fdaf19c337e in gst_element_change_state (element=0x109a0e0
[GstPipeline], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at
gstelement.c:2648
#11 0x00007fdaf19c3637 in gst_element_change_state (element=0x109a0e0
[GstPipeline], transition=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at
gstelement.c:2687
#12 0x00007fdaf19c3afa in gst_element_set_state_func (element=0x109a0e0
[GstPipeline], state=GST_STATE_NULL) at gstelement.c:2602
#13 0x0000000000400dde in main (argc=1, argv=0x7ffcc72b8e08) at deadlock.c:46

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