[gstreamer-bugs] [Bug 556986] pulsesink deadlocks when raising an error

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Oct 20 03:10:05 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=556986

  GStreamer | gst-plugins-good | Ver: 0.10.x

Jan Schmidt changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thaytan at mad.scientist.com




------- Comment #1 from Jan Schmidt  2008-10-20 10:10 UTC -------
There's a locking order problem here. Pulsesink is holding the pulse mainloop
lock while throwing the element error, which tries to take the object lock and
read the object name. One of the other threads is attempting to acquire the
pulseaudio lock while holding the element object lock (the set_state() thread,
I imagine), leading to deadlock.

The fix is probably to ensure that we drop the pulseaudio mainloop lock in all
cases before throwing an error.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=556986.




More information about the Gstreamer-bugs mailing list