Mailinglist Archive: opensuse-bugs (4664 mails)

< Previous Next >
[Bug 576860] New: pulseaudio autospawn deadlock
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Thu, 4 Feb 2010 00:39:45 +0000
  • Message-id: <bug-576860-21960@xxxxxxxxxxxxxxxxxxxxxxxx/>

Summary: pulseaudio autospawn deadlock
Classification: openSUSE
Product: openSUSE 11.2
Version: Final
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: P5 - None
Component: Sound
AssignedTo: tiwai@xxxxxxxxxx
ReportedBy: pbaudis@xxxxxxxxxx
QAContact: qa@xxxxxxx
Found By: ---
Blocker: ---

When I use the setup-pulseaudio --enable script to enable pulseaudio, random
parts of KDE4 and other applications will start to hang for minutes.

It turned out that this is pulseaudio's fault (and in part fault of KDE4
totally non-robust design, but that's a different matter) - kded4 will hang
while waiting for pulseaudio A to start up. pulseaudio A will flock() the
autospawn lock, then (for reasons unknown to me) start pulseaudio B and hang in
read() from a pipe leading to B. Furthermore, pulseaudio B will spawn
pulseaudio C (also don't know why) and start waiting for it. Finally,
pulseaudio C will try to flock() the autospawn lock, forming a fine deadlock.
kded4 will hang in waitpid(), as will be the case with knotify4 and more
applications over time as they try to autospawn their pulseaudios.

This seems to happen very reliably, in fact I don't remember a case when it
didn't happen on startup. It might be some other kind of breakage - I can't
think of a reason why pulseaudio is spawning another pulseaudio. Could it be
that pulseaudio wants to play over alsa, but since alsa has pulse as default
sink, it will auto-spawn pulseaudio, which wants to play over alsa, ...? In
that case this is still a bug (in setup-pulseaudio), but a different one.

(I'm not marking this Critical only because on KDE4, pulseaudio is currently
not enabled by default. But I need audio-over-network...)

Configure bugmail:
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >
Follow Ups