After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 636112 - [pulsesink] deadlock in ringbuffer_open_device
[pulsesink] deadlock in ringbuffer_open_device
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-11-30 09:08 UTC by Philippe Normand
Modified: 2011-01-19 15:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[pulsesink] avoid deadlock in ringbuffer_open_device (1.13 KB, patch)
2010-11-30 09:11 UTC, Philippe Normand
none Details | Review

Description Philippe Normand 2010-11-30 09:08:52 UTC
The pa_shared_ressource_mutex should be unlocked if we fail to create the context or the connection to PA fails.
Comment 1 Philippe Normand 2010-11-30 09:11:52 UTC
Created attachment 175522 [details] [review]
[pulsesink] avoid deadlock in ringbuffer_open_device

Unlock the shared_ressource_mutex if we fail to create the PA context
or if we fail to connect to PA.
Comment 2 Tim-Philipp Müller 2010-11-30 09:20:50 UTC
Isn't that already done via the goto unlock_and_fail; ?
Comment 3 Philippe Normand 2010-11-30 09:31:31 UTC
Comment on attachment 175522 [details] [review]
[pulsesink] avoid deadlock in ringbuffer_open_device

Ah yes, sorry..
What I see here is a sink changing state and attempting to lock the mutex while another sink is blocking in open_device with the mutex held in pa_threaded_mainloop_wait()
Comment 4 Philippe Normand 2010-11-30 09:50:02 UTC
Unlocking the mutex before the loop waiting on the context state seems to work, but not sure it's an acceptable solution...

PA is not running on the machine I use here.
Comment 5 Sebastian Dröge (slomo) 2010-12-18 13:23:05 UTC
Any news on this?
Comment 6 Philippe Normand 2011-01-19 15:26:11 UTC
I can't reproduce this issue anymore. Closing this bug.