[Bug 733495] New: discoverer: Deadlocks on MP3s on ALLOCATION query

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jul 21 04:49:45 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=733495
  GStreamer | gst-plugins-base | git

           Summary: discoverer: Deadlocks on MP3s on ALLOCATION query
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: NEW
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: slomo at coaxion.net
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


It's probably my recent decodebin changes. Sink is waiting to pre-roll,
decoders does ALLOCATION query but that is never answered because the sink is
waiting to pre-roll. And as discoverer never goes to PLAYING it never will
pre-roll.

Maybe happens because now we start the decoders earlier than before, and due to
linking things further downstream after starting it will try to reconfigure.



Thread 5 (Thread 0x7fffede05700 (LWP 31926)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff6aa0c07 in g_cond_wait (cond=0x7fffe003cce0, mutex=<optimized
out>)
    at /tmp/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:762
#2  0x00007ffff729e405 in gst_base_sink_wait_preroll (sink=0x7fffe003cbb0) at
gstbasesink.c:2151
#3  0x00007ffff729ebbe in gst_base_sink_do_preroll (sink=0x7fffe003cbb0,
obj=0x7fffe800d740)
    at gstbasesink.c:2241
#4  0x00007ffff72a3e07 in gst_base_sink_do_sync (basesink=0x7fffe003cbb0,
obj=0x7fffe800d740, 
    late=0x7fffede04bc4, step_end=0x7fffede04bc0) at gstbasesink.c:2443
#5  0x00007ffff72a09f6 in gst_base_sink_chain_unlocked (basesink=<optimized
out>, pad=<optimized out>, 
    obj=<optimized out>, is_list=<optimized out>) at gstbasesink.c:3385
#6  0x00007ffff729feaf in gst_base_sink_chain_main (basesink=0x7fffe003cbb0,
pad=<optimized out>, 
    obj=0x7fffe800d740, is_list=0) at gstbasesink.c:3533
#7  0x00007ffff6fe4279 in gst_pad_chain_data_unchecked (pad=0x7fffe001e560,
type=<optimized out>, 
    data=<optimized out>) at gstpad.c:3836
#8  0x00007ffff6fe4c53 in gst_pad_push_data (pad=0x7fffe001e330, type=4112,
data=<optimized out>)
    at gstpad.c:4069
#9  0x00007ffff4ad0f15 in gst_queue_push_one (queue=<optimized out>) at
gstqueue.c:1118
#10 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1247
#11 0x00007ffff700fb77 in gst_task_func (task=0x7fffe8005170) at gsttask.c:317
#12 0x00007ffff6a8489c in g_thread_pool_thread_proxy (data=<optimized out>)
    at /tmp/buildd/glib2.0-2.40.0/./glib/gthreadpool.c:307
#13 0x00007ffff6a83f15 in g_thread_proxy (data=0x6501e0) at
/tmp/buildd/glib2.0-2.40.0/./glib/gthread.c:764
#14 0x00007ffff65000a4 in start_thread (arg=0x7fffede05700) at
pthread_create.c:309
#15 0x00007ffff623504d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fffeea2b700 (LWP 31925)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
---Type <return> to continue, or q <return> to quit---
#1  0x00007ffff6aa0c07 in g_cond_wait (cond=0x7fffe003a320, mutex=<optimized
out>)
    at /tmp/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:762
#2  0x00007ffff4ad039d in gst_queue_handle_sink_query (pad=<optimized out>,
parent=0x7fffe003a050, 
    query=<optimized out>) at gstqueue.c:866
#3  0x00007ffff6fe3216 in gst_pad_query (pad=0x7fffe001e100, query=<optimized
out>) at gstpad.c:3584
#4  0x00007ffff6fe3c06 in gst_pad_peer_query (pad=0x7daa60, query=<optimized
out>) at gstpad.c:3715
#5  0x00007ffff6fe2d38 in query_forward_func (pad=0x7daa60,
data=0x7fffeea29d18) at gstpad.c:3040
#6  0x00007ffff6fe2268 in gst_pad_forward (pad=0x7ef230, forward=0x7ffff6fe2d10
<query_forward_func>, 
    user_data=0x7fffeea29d18) at gstpad.c:2796
#7  0x00007ffff6fe29ca in gst_pad_query_default (pad=0x7ef230,
parent=<optimized out>, query=0x650320)
    at gstpad.c:3104
#8  0x00007ffff6fe3216 in gst_pad_query (pad=0x7ef230, query=<optimized out>)
at gstpad.c:3584
#9  0x00007ffff6fe3c06 in gst_pad_peer_query (pad=0x7ffff0024130,
query=<optimized out>) at gstpad.c:3715
#10 0x00007ffff6fe2d38 in query_forward_func (pad=0x7ffff0024130,
data=0x7fffeea29fd8) at gstpad.c:3040
#11 0x00007ffff6fe2268 in gst_pad_forward (pad=0x7ee930, forward=0x7ffff6fe2d10
<query_forward_func>, 
    user_data=0x7fffeea29fd8) at gstpad.c:2796
#12 0x00007ffff6fe29ca in gst_pad_query_default (pad=0x7ee930,
parent=<optimized out>, query=0x650320)
    at gstpad.c:3104
#13 0x00007ffff4d0c663 in gst_decode_pad_query (pad=0x7ee930,
parent=0x7ffff0024130, query=0x650320)
    at gstdecodebin2.c:4451
#14 0x00007ffff6fe3216 in gst_pad_query (pad=0x7ee930, query=<optimized out>)
at gstpad.c:3584
#15 0x00007ffff6fe3c06 in gst_pad_peer_query (pad=0x7e5db0, query=<optimized
out>) at gstpad.c:3715
#16 0x00007ffff774b77b in gst_audio_decoder_negotiate_default
(dec=0x7fffe0018140) at gstaudiodecoder.c:678
#17 0x00007ffff7743b76 in gst_audio_decoder_negotiate_unlocked
(dec=0x7fffe0018140) at gstaudiodecoder.c:728
#18 check_pending_reconfigure (dec=0x7fffe0018140) at gstaudiodecoder.c:1092
#19 0x00007ffff7742dd0 in gst_audio_decoder_finish_frame (dec=0x7fffe0018140,
buf=0x7fffe800d850, frames=1)
    at gstaudiodecoder.c:1156
#20 0x00007fffee028f74 in gst_mad_handle_frame (dec=<optimized out>,
buffer=<optimized out>) at gstmad.c:478
#21 0x00007ffff77487a6 in gst_audio_decoder_push_buffers (dec=<optimized out>,
force=0)
---Type <return> to continue, or q <return> to quit---
    at gstaudiodecoder.c:1414
#22 0x00007ffff77477e2 in gst_audio_decoder_chain_forward (dec=0x7fffe0018140,
buffer=0x7fffe800d520)
    at gstaudiodecoder.c:1517
#23 0x00007ffff7746506 in gst_audio_decoder_chain (pad=<optimized out>,
parent=<optimized out>, 
    buffer=<optimized out>) at gstaudiodecoder.c:1775
#24 0x00007ffff6fe4279 in gst_pad_chain_data_unchecked (pad=0x7e5b80,
type=<optimized out>, 
    data=<optimized out>) at gstpad.c:3836
#25 0x00007ffff6fe4c53 in gst_pad_push_data (pad=0x7e54f0, type=4112,
data=<optimized out>) at gstpad.c:4069
#26 0x00007ffff7290580 in gst_base_parse_push_frame (parse=0x7fffe8008a30,
frame=<optimized out>)
    at gstbaseparse.c:2302
#27 0x00007ffff72920ad in gst_base_parse_handle_and_push_frame
(parse=0x7fffe8008a30, frame=0x6502d0)
    at gstbaseparse.c:2134
#28 gst_base_parse_finish_frame (parse=0x7fffe8008a30, frame=0x6502d0,
size=<optimized out>)
    at gstbaseparse.c:2459
#29 0x00007fffeea3ff4f in gst_mpeg_audio_parse_handle_frame
(parse=0x7fffe8008a30, frame=0x6502d0, 
    skipsize=<optimized out>) at gstmpegaudioparse.c:770
#30 0x00007ffff7294b6c in gst_base_parse_handle_buffer (parse=0x7fffe8008a30,
buffer=<optimized out>, 
    skip=0x7fffeea2add8, flushed=0x7fffeea2addc) at gstbaseparse.c:1961
#31 0x00007ffff729667f in gst_base_parse_scan_frame (parse=<optimized out>,
klass=0x7fffe80065d0)
    at gstbaseparse.c:3121
#32 0x00007ffff7297e06 in gst_base_parse_loop (pad=<optimized out>) at
gstbaseparse.c:3194
#33 0x00007ffff700fb77 in gst_task_func (task=0x7f1ef0) at gsttask.c:317
#34 0x00007ffff6a8489c in g_thread_pool_thread_proxy (data=<optimized out>)
    at /tmp/buildd/glib2.0-2.40.0/./glib/gthreadpool.c:307
#35 0x00007ffff6a83f15 in g_thread_proxy (data=0x65e5e0) at
/tmp/buildd/glib2.0-2.40.0/./glib/gthread.c:764
#36 0x00007ffff65000a4 in start_thread (arg=0x7fffeea2b700) at
pthread_create.c:309
#37 0x00007ffff623504d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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