Bug#740038: pulseaudio hangs in D (uninterruptible sleep)
Antoine Beaupré
anarcat at debian.org
Tue Feb 25 02:57:40 UTC 2014
Package: pulseaudio
Version: 4.0-6+b1
Severity: important
It is somewhat unclear to me how this happened, but a pulseaudio
daemon has hanged on my machine:
PID STARTED S TTY TIME COMMAND
10093 Feb 21 D ? 01:15:42 /usr/bin/pulseaudio --start --log-target=syslog
I have tried to kill the process (even with -KILL), and it just stays
there. It has been like this for a while now.
I have a rather convoluted setup, with liquidsoap driving pulseaudio,
however liquidsoap is stopped now yet PA is still running. Some
details on the setup can be perused here:
http://anarc.at/services/radio/
I have tried to attach an strace or a gdb to the process, but both
simply hang when attaching.
Here are some relevant logs:
/var/log/syslog.2.gz:Feb 22 11:06:13 marcos pulseaudio[10093]: [alsa-sink-ALC887 Analog] alsa-sink.c: Error opening PCM device front:0: Périphérique ou ressource occupé
/var/log/syslog.2.gz:Feb 22 11:06:14 marcos pulseaudio[10093]: [alsa-sink-ALC887 Analog] alsa-sink.c: Error opening PCM device front:0: Périphérique ou ressource occupé
/var/log/syslog.2.gz:Feb 22 11:06:23 marcos pulseaudio[10093]: [alsa-sink-ALC887 Analog] alsa-sink.c: Error opening PCM device front:0: Périphérique ou ressource occupé
/var/log/syslog.3.gz:Feb 21 17:50:06 marcos pulseaudio[10093]: [pulseaudio] pid.c: Stale PID file, overwriting.
/var/log/syslog.3.gz:Feb 21 19:16:24 marcos pulseaudio[10093]: [alsa-sink-ALC887 Analog] alsa-sink.c: Error opening PCM device front:0: Périphérique ou ressource occupé
/var/log/syslog.3.gz:Feb 21 19:16:27 marcos pulseaudio[10093]: [alsa-sink-ALC887 Analog] alsa-sink.c: Error opening PCM device front:0: Périphérique ou ressource occupé
/var/log/syslog.1:Feb 23 21:11:21 marcos pulseaudio[10093]: [pulseaudio] module-combine-sink.c: Assertion 'pa_idxset_remove_by_data(o->userdata->outputs, o, NULL)' failed at modules/module-combine-sink.c:927, function output_free(). Aborting.
/var/log/syslog.1:Feb 23 21:11:21 marcos kernel: [796082.449407] CPU: 1 PID: 10093 Comm: pulseaudio Not tainted 3.12-1-amd64 #1 Debian 3.12.9-1
Here is a translation of the french sentence: "Périphérique ou
ressource occupé" means "Resource or device busy" or something to that
effect.
Note that liquidsoap crashed on feb 21st:
2014/02/21 17:44:46 [threads:2] Queue generic queue #2 crashed with exception File "request.ml", line 512, characters 2-8: Assertion failed
2014/02/21 17:44:46 [threads:2] Called from file "duppy.ml", line 280, characters 9-26
2014/02/21 17:44:46 [threads:1] PANIC: Liquidsoap has crashed, exiting..
2014/02/21 17:44:46 [threads:1] Please report at: savonet-users at lists.sf.net
2014/02/21 17:44:47 >>> LOG START
2014/02/21 17:44:46 [protocols.external:3] Found "/usr/bin/wget".
2014/02/21 17:44:46 [main:3] Liquidsoap 1.1.1
Then it was restarted and it's when that dreaded pulseaudio process
got spawned:
2014/02/21 17:51:44 [threads:3] Created thread "wallclock_pulse" (1 total).
2014/02/21 17:51:44 [clock.wallclock_pulse:3] Streaming loop starts, synchronized by active sources.
I am not sure, however, it was actually writing to that pulseaudio
process at that point. I tried to restart liquidsoap yesterday, but it
failed:
2014/02/23 21:17:01 [clock.wallclock_pulse:2] Error when starting output pulse_out(liquidsoap:): Pulseaudio error: Timeout!
2014/02/23 21:17:01 [threads:3] Created thread "wallclock_pulse" (1 total).
2014/02/23 21:17:01 [clock.wallclock_pulse:3] Streaming loop starts, synchronized by active sources.
2014/02/23 21:17:01 [server:3] Unlink anaradio.socket
2014/02/23 21:17:01 [main:3] Shutdown started!
Notice how it times out talking to pulseaudio.
Other commandline tools also fail to talk to PA:
liquidsoap at marcos:~$ LANG=C pacmd list
Daemon not responding.
liquidsoap at marcos:~$ LANG=C pactl list
Connection failure: Timeout
I understand liquidsoap's pulseaudio implementation may be limited or
wrong, but from my perspective, it shouldn't be crashing the daemon
the way it is doing right now.
I would welcome hints on how to debug this problem, right now I feel
that only a reboot will allow me to kill that process, something which
is a little odd in itself.
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.12-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages pulseaudio depends on:
ii adduser 3.113+nmu3
ii consolekit 0.4.6-3+b1
ii libasound2 1.0.27.2-3
ii libasound2-plugins 1.0.27-2+b1
ii libc6 2.17-97
ii libcap2 1:2.22-1.2
ii libdbus-1-3 1.8.0-1
ii libfftw3-single3 3.3.3-7
ii libgcc1 1:4.8.2-15
ii libice6 2:1.0.8-2
ii libltdl7 2.4.2-1.7
ii liborc-0.4-0 1:0.4.18-1
ii libpulse0 4.0-6+b1
ii libsamplerate0 0.1.8-7
ii libsm6 2:1.2.1-2
ii libsndfile1 1.0.25-9
ii libspeexdsp1 1.2~rc1.1-1
ii libstdc++6 4.8.2-15
ii libsystemd-login0 204-7
ii libtdb1 1.2.12-1
ii libudev1 204-7
ii libwebrtc-audio-processing-0 0.1-2
ii libx11-6 2:1.6.2-1
ii libx11-xcb1 2:1.6.2-1
ii libxcb1 1.10-2
ii libxtst6 2:1.2.2-1
ii lsb-base 4.1+Debian12
ii udev 204-7
Versions of packages pulseaudio recommends:
ii gstreamer0.10-pulseaudio 0.10.31-3+nmu2
ii pulseaudio-module-x11 4.0-6+b1
ii rtkit 0.10-3
Versions of packages pulseaudio suggests:
ii paman 0.9.4-1
ii paprefs 0.9.10-1
ii pavucontrol 1.0-1
ii pavumeter 0.9.3-4
ii pulseaudio-utils 4.0-6+b1
-- no debconf information
More information about the pkg-pulseaudio-devel
mailing list