GNOME Bugzilla – Bug 537540
[pulse] Causes a deadlock when the pulseserver dies
Last modified: 2009-01-29 13:32:54 UTC
Moved from http://pulseaudio.org/ticket/251: If the pulseserver dies the sinks _write calls GST_ELEMENT_ERROR inside a section with the pulseaudio mainloop mutex locked.. GST_ELEMENT_ERROR locks the element The _reset function is called with the element locked and wants to lock the the mainloop mutex.. So one thread locks A, B and the other B, A.. Obvious deadlock ensues :( -------------------------------------------------------------------------- 03/04/08 12:28:31 changed by coling Just for completeness this does not require pa to "die", the stream just needs to be terminated (e.g. via pavucontrol) to deadlock the application - tested here with rhythmbox. I think this may also be causing some applications to "go into a memory/cpu cyle eating loop". I've seen problems with e.g. gnome-power-manager and pidgin when I've had to kill PA or the streams after a resume form STR where the alsa driver has hiccuped and not allowed me to play sounds. Reloading the alsa driver "fixes" it but to do so I have to kill PA as it's "hogging" the device due to some frozen gstreamer streams. Gstreamer streams seem to just sit there when the pa server gets into this state but e.g. paplay will play and quit as usual.
This is fixed in GIT and 0.10.14 will contain the fix.