Bug#589559: pulseaudio: Fails to start if .asoundrc routes sound via PulseAudio

Nix nix at esperi.org.uk
Sun Jul 18 17:12:13 UTC 2010


Package: pulseaudio
Version: 0.9.21-3
Severity: important

I've got PulseAudio 0.9.21 running on this Debian testing system and also
on an LFS system. On the LFS system, I can route all ALSA-generated sound
through PulseAudio with the following ~/.asoundrc:

---
# Sound output as a normal user always goes via PulseAudio.

pcm.pulse {
    type pulse
    server music.srvr.nix
}

ctl.pulse {
    type pulse
    server music.srvr.nix
}

pcm.!default {
    type pulse
}

ctl.!default {
    type pulse
}
---

On the Debian system, this doesn't work: PA fails to start, as below
(this is reported on behalf of one of my users, hence the differing
usernames below):

Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
Jul 18 17:41:44 phoenix pulseaudio[29388]: core-util.c: Failed to acquire high-priority scheduling: No such file or directory
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: This is PulseAudio 0.9.21
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Page size is 4096 bytes
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Machine ID is 93e440dd1e6926bc3940785e4b1a753c.
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Session ID is 93e440dd1e6926bc3940785e4b1a753c-1279471234.423891-1494667676.
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Using runtime directory /home/martin/.pulse/93e440dd1e6926bc3940785e4b1a753c-runtime.
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Using state directory /home/martin/.pulse.
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Using modules directory /usr/lib/pulse-0.9.21/modules.
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Running in system mode: no
Jul 18 17:41:44 phoenix pulseaudio[29388]: main.c: Fresh high-resolution timers available! Bon appetit!
Jul 18 17:41:44 phoenix pulseaudio[29388]: cpu-x86.c: CPU flags: MMX SSE SSE2 SSE3 SSSE3 SSE4_1
Jul 18 17:41:44 phoenix pulseaudio[29388]: svolume_mmx.c: Initialising MMX optimized functions.
Jul 18 17:41:44 phoenix pulseaudio[29388]: remap_mmx.c: Initialising MMX optimized remappers.
Jul 18 17:41:44 phoenix pulseaudio[29388]: svolume_sse.c: Initialising SSE2 optimized functions.
Jul 18 17:41:44 phoenix pulseaudio[29388]: remap_sse.c: Initialising SSE2 optimized remappers.
Jul 18 17:41:44 phoenix pulseaudio[29388]: sconv_sse.c: Initialising SSE2 optimized conversions.
Jul 18 17:41:44 phoenix pulseaudio[29388]: module-device-restore.c: Sucessfully opened database file '/home/martin/.pulse/93e440dd1e6926bc3940785e4b1a753c-device-volumes'.
Jul 18 17:41:44 phoenix pulseaudio[29388]: module.c: Loaded "module-device-restore" (index: #0; argument: "").
Jul 18 17:41:44 phoenix pulseaudio[29388]: module-stream-restore.c: Sucessfully opened database file '/home/martin/.pulse/93e440dd1e6926bc3940785e4b1a753c-stream-volumes'.
Jul 18 17:41:44 phoenix pulseaudio[29388]: module.c: Loaded "module-stream-restore" (index: #1; argument: "").
Jul 18 17:41:44 phoenix pulseaudio[29388]: module-card-restore.c: Sucessfully opened database file '/home/martin/.pulse/93e440dd1e6926bc3940785e4b1a753c-card-database'.
Jul 18 17:41:44 phoenix pulseaudio[29388]: module.c: Loaded "module-card-restore" (index: #2; argument: "").
Jul 18 17:41:44 phoenix pulseaudio[29388]: module.c: Loaded "module-augment-properties" (index: #3; argument: "").
Jul 18 17:41:44 phoenix pulseaudio[29388]: socket-client.c: socket(): Address family not supported by protocol
Jul 18 17:41:49 phoenix pulseaudio[29397]: pid.c: Daemon already running.
Jul 18 17:41:49 phoenix pulseaudio[29388]: (alsa-lib)pulse.c: PulseAudio: Unable to connect: Connection refused
Jul 18 17:41:49 phoenix pulseaudio[29388]: alsa-util.c: Error opening PCM device default: Connection refused
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Failed to load  module "module-alsa-sink" (argument: ""): initialization failed.
Jul 18 17:41:49 phoenix pulseaudio[29388]: main.c: Module load failed.
Jul 18 17:41:49 phoenix pulseaudio[29388]: main.c: Failed to initialize daemon.
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloading "module-device-restore" (index: #0).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloaded "module-device-restore" (index: #0).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloading "module-stream-restore" (index: #1).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloaded "module-stream-restore" (index: #1).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloading "module-card-restore" (index: #2).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloaded "module-card-restore" (index: #2).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloading "module-augment-properties" (index: #3).
Jul 18 17:41:49 phoenix pulseaudio[29388]: module.c: Unloaded "module-augment-properties" (index: #3).
Jul 18 17:41:49 phoenix pulseaudio[29388]: main.c: Daemon terminated.

stracing reveals that the ALSA PulseAudio plugin is trying to open a
connection to PulseAudio *even though it is running inside PulseAudio
itself*. As a result, I can only start the plugin if I move .asoundrc
out of the way first.

Now the plugin and daemon contain workarounds for this in the form of
the PULSE_INTERNAL environment variable, which the latter sets and the
former checks for. This doesn't seem to be working in Debian's copy.

If there's any more information I can provide, just ask.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.34 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages pulseaudio depends on:
ii  adduser                       3.112      add and remove users and groups
ii  consolekit                    0.4.1-4    framework for defining and trackin
ii  libasound2                    1.0.23-1   shared library for ALSA applicatio
ii  libc6                         2.11.2-2   Embedded GNU C Library: Shared lib
ii  libcap2                       1:2.17-2   support for getting/setting POSIX.
ii  libdbus-1-3                   1.2.24-1   simple interprocess messaging syst
ii  libgdbm3                      1.8.3-9    GNU dbm database routines (runtime
ii  libice6                       2:1.0.6-1  X11 Inter-Client Exchange library
ii  libltdl7                      2.2.6b-2   A system independent dlopen wrappe
ii  libpulse0                     0.9.21-3   PulseAudio client libraries
ii  libsamplerate0                0.1.7-3    Audio sample rate conversion libra
ii  libsm6                        2:1.1.1-1  X11 Session Management library
ii  libsndfile1                   1.0.21-2   Library for reading/writing audio 
ii  libspeexdsp1                  1.2~rc1-1  The Speex extended runtime library
ii  libudev0                      158-1      libudev shared library
ii  libx11-6                      2:1.3.3-3  X11 client-side library
ii  libxtst6                      2:1.1.0-3  X11 Testing -- Record extension li
ii  lsb-base                      3.2-23.1   Linux Standard Base 3.2 init scrip
ii  udev                          158-1      /dev/ and hotplug management daemo

Versions of packages pulseaudio recommends:
ii  gstreamer0.10-pulseaudio      0.10.23-4  GStreamer plugin for PulseAudio
ii  libasound2-plugins            1.0.23-1   ALSA library additional plugins
ii  pulseaudio-esound-compat      0.9.21-3   PulseAudio ESD compatibility layer
ii  pulseaudio-module-x11         0.9.21-3   X11 module for PulseAudio sound se

Versions of packages pulseaudio suggests:
pn  paman                         <none>     (no description available)
pn  paprefs                       <none>     (no description available)
ii  pavucontrol                   0.9.9-1    PulseAudio Volume Control
pn  pavumeter                     <none>     (no description available)
ii  pulseaudio-utils              0.9.21-3   Command line tools for the PulseAu

-- Configuration Files:
/etc/pulse/default.pa changed (because udev often had trouble finding our
sound cards in days of yore: this may be fixed now for all I know):
.nofail
.fail
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-alsa-sink
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
load-module module-detect
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-position-event-sounds
load-module module-cork-music-on-phone


-- no debconf information





More information about the pkg-pulseaudio-devel mailing list