[Gstreamer-bugs] [Bug 142813] New: - Deadlock in optimal scheduler

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Wed May 19 18:26:59 PDT 2004


http://bugzilla.gnome.org/show_bug.cgi?id=142813
GStreamer | gstreamer (core) | Ver: 0.8.1

           Summary: Deadlock in optimal scheduler
           Product: GStreamer
           Version: 0.8.1
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-maint at bugzilla.gnome.org
        ReportedBy: dcm at acm.org
         QAContact: gstreamer-maint at bugzilla.gnome.org


When a group gets scheduled by the non-cothread version of the optimal
scheduler, a "pre-run" and "post-run" function is executed for each element in
the group.  However, if the group is altered during the iteration such that an
element is removed from that particular group, the post-run function is not
executed for that element.  This causes a deadlock the next time the element is
iterated, because it's properties mutex has been locked by the pre-run function,
but never unlocked by the post-run function.

For example, this scenario would happen with this pipeline:

filesrc ! spider ! osssink

If we play a song until EOS, and then delete the spider element during the EOS
handler, both filesrc and osssink will be removed from the group.  If we then
create a new spider and link it back together with the same filesrc and osssink,
the osssink and filesrc properties mutex's will deadlock the first time they are
iterated.

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.




More information about the Gstreamer-bugs mailing list