[pulseaudio-discuss] libpulse deadlock

Colin Guthrie gmane at colin.guthr.ie
Thu Jul 21 15:25:14 PDT 2011

'Twas brillig, and Rémi Denis-Courmont at 18/07/11 17:36 did gyre and
> 	Hello,
> I might have missed something obvious but there seems to be a race condition 
> resulting in a deadlock in libpulse 0.9.22 (Debian).
> I have stream with prebuf disabled (zero). When the Close() function below 
> gets called, if the stream is _not_ corked, the pa_stream_drain() callback 
> never gets called, so pa_threaded_mainloop_wait() never returns and the whole 
> process jams.
> This seems timing dependent: if I put a gdb breakpoint on 
> pa_operation_get_state() then continue, the callback does get called and the 
> process does not get stuck on the condition variable. There is also no problem 
> if the stream is corked, in which case we use pa_stream_flush() instead of 
> pa_stream_drain().

Thanks for creating the bug. It'll be easier to track now. :)




Colin Guthrie

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

More information about the pulseaudio-discuss mailing list