[Bug 690420] Random lock-up in GstDiscoverer

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Dec 21 07:08:18 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=690420
  GStreamer | gst-plugins-base | 1.x

Wim Taymans <wim.taymans> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wim.taymans at gmail.com

--- Comment #6 from Wim Taymans <wim.taymans at gmail.com> 2012-12-21 15:08:10 UTC ---
Thread 1 and 3 are important. Thread 5,4,2 are from a previous run.

Thread 1 is doing the state change on the decodebin and has just managed to set
the state on typefind.

Thread 3 has just finished the typefind and is signaling the type-found signal.
Decodebin then added the flacparse element.

Thread 1 sees that a new element flacparse3 is added to the pipeline and
restarts the state change, it now tries to set the state of the new flacparse
to PAUSED. 

Thread 3 tries to set the flacparse to READY but blocks on the state lock
because
thread 1 was first.

In thread 1: The flacparse tries to activate the peer pad in pull mode and for
that it needs to deactivate the stream thread first, this deadlocks because
thread 3 holds the stream lock and is blocked in the state-lock.

It sounds like we need to prevent the bin from doing the resync and changing
the state for us.

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