[Bug 706831] New: composition: Release objects lock while forwarding an event

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Aug 26 14:09:39 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=706831
  GStreamer | gnonlin | unspecified

           Summary: composition: Release objects lock while forwarding an
                    event
    Classification: Platform
           Product: GStreamer
           Version: unspecified
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gnonlin
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: thibault.saunier at collabora.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


There is no reason to keep it and in some rare cases it creates
deadlocks as followed:
  t1:
     → Composition receives a flushing seek, it takes the OBJECTS_LOCK
        and fowards the flushing seek event upstream
     → adder receives the seek and set its collectpad to flushing
        This implies tacking STREAM_LOCK (collectpad)

  t2:
    → Collectpad has buffers ready, and has the STREAM_LOCK
    (collectpad) and is EOS, so it sends it downstream
    → The composition receives EOS, and needs to check if it is
    the actual EOS or not, thus need to take the OBJECTS_LOCK

This create a deadlock, and in the first stage, we did not need the
OBJECTS_LOCK to forward downstream the flushing seek, so do not take
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