[Bug 655790] New: Hang when playing MPEG TS from disk with buffering

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Aug 2 03:33:16 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=655790
  GStreamer | gstreamer (core) | 0.10.34

           Summary: Hang when playing MPEG TS from disk with buffering
    Classification: Platform
           Product: GStreamer
           Version: 0.10.34
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: tvrtko.ursulin at onelan.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=193044)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=193044)
For each thread a bit of strace output and back trace from gdb.

I realize MPEG TS plugins come from the bad package, however I am not sure this
is not a core bug of some sort.

I am seeing a reproducible hang where gst-launch pauses the pipeline and 
starts buffering never to get out of that state.

Test command is:
gst-launch-0.10 -v playbin2 uri=file:///home/storage/bbc-end2.ts flags=0x103 
audio-sink=alsasink

It only happens when buffering (0x100 in flags to playbin2) is turned on. 

It happens most of the time but not always - I suspect it is timing related so 
some sort of a race condition. Because I was seeing it 100% of the time at 
first and it went away when I turned on verbose debug to console. Redirecting 
that to a file and hang was there again.

I have looked at back traces of all gst-launch threads (attached). But 
since I am quite new to GStreamer I am not quite there yet to untangle and make
sense of it all.

It looks a lot of interesting threads are blocking in synchronization 
primitives - which would indeed suggest a race condition.

Demuxer is sitting in gst_data_queue_push, two threads in gst_queue_chain and 
another two in gst_base_sink_wait_preroll. 

I will attach stack traces and strace snippets from all threads which show the
state when hanging. Also a GST_DEBUG=5 log file of it.

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