[Bug 663701] New: deadlock in stream lock in videomixer

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Nov 9 08:05:33 PST 2011


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

           Summary: deadlock in stream lock in videomixer
    Classification: Platform
           Product: GStreamer
           Version: unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: mateu.batle at collabora.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=201084)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=201084)
Backtrace of deadlock

One freeze detected using GES (gnonlin) testing with a simple media timeline
layer with basic transitions with pattern - transition - pattern. There is a
deadlock in on GST_COLLECT_PADS2_STREAM_LOCK in
gst/videomixer/gstcollectpads2.c

It does not happen 100%, but maybe 80% of the times. If GST_DEBUG log 5 is
enabled then it happens less often, there is some race condition.

Vincent take a looked and reported "So that seems to be the issue with that GES
hang. gnlcomposition doesn't forward the flush start, and another thread is
blocked in _chain; the log shows: gst_pad_push_event:<gnloperation6:src> Pad is
blocked, not forwarding flush-start, doing block signal."

We have just been able to reproduce with GES webkit demo. We tried to reproduce
the problem with ges-launch without success, so it might be related with webkit
sink.

Note: Not sure what component to assign the bug to, feel free to properly
reassign it. The backtrace shows gst-editing-services, gnonlin,
gst-plugins-good (videomixer). And there is additionally the webkit sink which
might interfere somehow.

Attached can find a full backtrace of the problem for all threads. I hope it
helps.

STEPS TO REPRODUCE THE PROBLEM:

1) This has been tested with Ubuntu Oneiric + modified webkit for GES webkit
demo, you can find those packages in:

https://launchpad.net/~zdra/+archive/prague-demo

Just install the witivi packages with its dependencies. 

2) Run witivi, drag and drop two video source to the timeline and add a
transition in the middle.

3) Play the timeline, close to the finish of the first clip (first video
source), when the transition is beginning or about to begin, it freezes the
whole application.

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