[Bug 702167] New: Missing mutex lock leading to wrong STREAM_LOCK count

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 13 04:10:01 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=702167
  GStreamer | gst-plugins-good | 0.10.36

           Summary: Missing mutex lock leading to wrong STREAM_LOCK count
    Classification: Platform
           Product: GStreamer
           Version: 0.10.36
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: stenyak at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


There seems to be a bug in matroska-demux.c. It happens rarely, when seeking.

The problem is that the common.sinkpad may be unlocked without having been
locked first.

This eventually leads to a negative depth of the recursive mutex, which in turn
leads to the dreaded "GStreamer-WARNING **: wrong STREAM_LOCK count" message.


I'm working on gstreamer 0.10, but the bug seems to also be present in latest
matroskamux versions. To test it, start a pipeline, and seek randomly in an
infinite loop. After a few seconds (no more than 1000 seeks later, at least in
my tests), the bugged code branch will happen to be executed, and a deadlock
ensues somewhere else.


The attached patch fixes this problem in my case.

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