[gstreamer-bugs] [Bug 567396] playbin2: DECODE_BIN_LOCK occasionally called twice within one thread on playback start

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue Feb 10 18:49:07 PST 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=567396

  GStreamer | gst-plugins-base | Ver: git

Steven Robertson changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|particular FLAC file hangs  |playbin2: DECODE_BIN_LOCK
                   |playbin2 after reaching     |occasionally called twice
                   |PAUSED on way to PLAYING if |within one thread on
                   |GST_DEBUG="GST_STATES:3" or |playback start
                   |higher                      |




------- Comment #5 from Steven Robertson  2009-02-11 02:49 UTC -------
__tim on the channel suggested that a poke might be beneficial in getting this
resolved, so here it is.

Another rename, as well, which more accurately reflects the problem. I did a
bit of digging and it seems that most of these lockups are being caused by
application of g_mutex_lock twice in one thread. According to the GLib
reference manual:

    GMutex is neither guaranteed to be recursive nor to be non-recursive, i.e.
a
    thread could deadlock while calling g_mutex_lock(), if it already has
locked 
    mutex. Use GStaticRecMutex, if you need recursive mutexes. 

    --- http://library.gnome.org/devel/glib/2.18/glib-Threads.html#g-mutex-lock

I will test and, if successful, post a patch which resolves this by swapping
for GStaticRecMutex. It should be noted that there's a similar error which
results in a deadlock upon disposing of a finished track's elements during a
gapless transition. If the patch is unsuccessful, I'll create a separate bug
for that.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=567396.




More information about the Gstreamer-bugs mailing list