Package: pulseaudio Version: 7.0-1+b1 Severity: important I seem to have found a bug.
Here's how: 1.) Use Debian's unstable repository 2.) $ apt-get dist-upgrade # On November 4, 2015 3.) Edit /etc/pulse/client.conf to not autospawn pulseaudio #; autospawn = yes ; autospawn = no 4.) Reboot. 5.) Run pulseaudio with verbose diagnostics as a normal user on an xterm's command line with $ pulseaudio -vvvvvvvvvv --log-time 6.) Launch iceweasel. 7.) Play sound with $ echo "hello world" | festival --language americanenglish -b --tts 8.) Here's where the bug happens. Use your mouse to access iceweasel's add-on manager iceweasel->Tools->Add-ons Pulseaudio says ( 123.846| 5.004) I: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.pci-0000_03_05.0.analog-stereo idle for too long, suspending ... ( 123.846| 0.000) D: [pulseaudio] sink.c: Suspend cause of sink alsa_output.pci-0000_03_05.0.analog-stereo is 0x0004, suspending ( 123.846| 0.000) I: [alsa-sink-ES1371/1] alsa-sink.c: Device suspended... ( 123.846| 0.000) D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum. ( 123.847| 0.000) D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes ( 123.847| 0.000) D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.pci-0000_03_05.0. ( 125.621| 1.774) I: [pulseaudio] client.c: Created 5 "Native client (UNIX socket client)" ( 125.622| 0.000) D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30 ( 125.622| 0.000) I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1 ( 125.622| 0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes ( 125.622| 0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: no ( 125.622| 0.000) D: [pulseaudio] protocol-native.c: Disabling srbchannel, reason: No SHM support ( 125.624| 0.002) D: [pulseaudio] module-augment-properties.c: Looking for .desktop file for iceweasel ( 125.624| 0.000) D: [pulseaudio] module-augment-properties.c: Found /usr/share/applications/iceweasel.desktop. ( 125.624| 0.000) D: [pulseaudio] conf-parser.c: Parsing configuration file '/usr/share/applications/iceweasel.desktop' 9.) Try to play sound again $ echo "hello world" | festival --language americanenglish -b --tts Silence! festival says ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Protocol error aplay: main:722: audio open error: Connection refused I a.) expected to hear festival say "hello world", and b.) am surprised pulseaudio's module-augment-properties.c: looked for a .desktop file for iceweasel. I hope that helps, Kingsley -- Package-specific info: File '/etc/default/pulseaudio' does not exist -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 4.2.0-1-686-pae (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Init: systemd (via /run/systemd/system) Versions of packages pulseaudio depends on: ii adduser 3.113+nmu3 ii libasound2 1.0.29-1 ii libasound2-plugins 1.0.29-1 ii libc6 2.19-22 ii libcap2 1:2.24-12 ii libdbus-1-3 1.10.2-1 ii libfftw3-single3 3.3.4-2 ii libgcc1 1:5.2.1-23 ii libice6 2:1.0.9-1+b1 ii libltdl7 2.4.2-1.11 ii liborc-0.4-0 1:0.4.24-1 ii libpulse0 7.0-1+b1 ii libsm6 2:1.2.2-1+b1 ii libsndfile1 1.0.25-9.1 ii libspeexdsp1 1.2~rc1.2-1 ii libstdc++6 5.2.1-23 ii libsystemd0 227-2 ii libtdb1 1.3.7-1 ii libudev1 227-2 ii libwebrtc-audio-processing-0 0.1-3 ii libx11-6 2:1.6.3-1 ii libx11-xcb1 2:1.6.3-1 ii libxcb1 1.11.1-1 ii libxtst6 2:1.2.2-1+b1 ii lsb-base 9.20150917 ii pulseaudio-utils 7.0-1+b1 ii udev 227-2 Versions of packages pulseaudio recommends: ii pulseaudio-module-x11 7.0-1+b1 ii rtkit 0.11-4 Versions of packages pulseaudio suggests: pn paman <none> pn paprefs <none> ii pavucontrol 3.0-3+b2 pn pavumeter <none> -- no debconf information
# This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. ## Configuration file for PulseAudio clients. See pulse-client.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. ; default-sink = ; default-source = ; default-server = ; default-dbus-server = # Nov 3, 2015 KGMJR Turned off autospawn to # facilitate debugging pulseaudio failing to make # a sound # within minutes after booting. ; autospawn = no #; autospawn = yes ; daemon-binary = /usr/bin/pulseaudio ; extra-arguments = --log-target=syslog ; cookie-file = ; enable-shm = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; auto-connect-localhost = no ; auto-connect-display = no
# This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. ; daemonize = no ; fail = yes ; allow-module-loading = yes ; allow-exit = yes ; use-pid-file = yes ; system-instance = no ; local-server-type = user ; enable-shm = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; lock-memory = no ; cpu-limit = no ; high-priority = yes ; nice-level = -11 ; realtime-scheduling = yes ; realtime-priority = 5 ; exit-idle-time = 20 ; scache-idle-time = 20 ; dl-search-path = (depends on architecture) ; load-default-script-file = yes ; default-script-file = /etc/pulse/default.pa ; log-target = auto ; log-level = notice ; log-meta = no ; log-time = no ; log-backtrace = 0 ; resample-method = speex-float-1 ; enable-remixing = yes ; enable-lfe-remixing = yes ; lfe-crossover-freq = 120 ; flat-volumes = yes ; rlimit-fsize = -1 ; rlimit-data = -1 ; rlimit-stack = -1 ; rlimit-core = -1 ; rlimit-as = -1 ; rlimit-rss = -1 ; rlimit-nproc = -1 ; rlimit-nofile = 256 ; rlimit-memlock = -1 ; rlimit-locks = -1 ; rlimit-sigpending = -1 ; rlimit-msgqueue = -1 ; rlimit-nice = 31 ; rlimit-rtprio = 9 ; rlimit-rttime = 200000 ; default-sample-format = s16le ; default-sample-rate = 44100 ; alternate-sample-rate = 48000 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right ; default-fragments = 4 ; default-fragment-size-msec = 25 ; enable-deferred-volume = yes ; deferred-volume-safety-margin-usec = 8000 ; deferred-volume-extra-delay-usec = 0
#!/usr/bin/pulseaudio -nF # # This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. # This startup script is used only if PulseAudio is started per-user # (i.e. not in system mode) .nofail ### Load something into the sample cache #load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga #load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga #load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga #load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga .fail ### Automatically restore the volume of streams and devices load-module module-device-restore load-module module-stream-restore load-module module-card-restore ### Automatically augment property information from .desktop files ### stored in /usr/share/application load-module module-augment-properties ### Should be after module-*-restore but before module-*-detect load-module module-switch-on-port-available ### Load audio drivers statically ### (it's probably better to not load these drivers manually, but instead ### use module-udev-detect -- see below -- for doing this automatically) #load-module module-alsa-sink #load-module module-alsa-source device=hw:1,0 #load-module module-oss device="/dev/dsp" sink_name=output source_name=input #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input #load-module module-null-sink #load-module module-pipe-sink ### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect .else ### Use the static hardware detection module (for systems that lack udev support) load-module module-detect .endif ### Automatically connect sink and source if JACK server is present .ifexists module-jackdbus-detect.so .nofail load-module module-jackdbus-detect channels=2 .fail .endif ### Automatically load driver modules for Bluetooth hardware .ifexists module-bluetooth-policy.so load-module module-bluetooth-policy .endif .ifexists module-bluetooth-discover.so load-module module-bluetooth-discover .endif ### Load several protocols .ifexists module-esound-protocol-unix.so load-module module-esound-protocol-unix .endif load-module module-native-protocol-unix ### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp #load-module module-native-protocol-tcp #load-module module-zeroconf-publish ### Load the RTP receiver module (also configured via paprefs, see above) #load-module module-rtp-recv ### Load the RTP sender module (also configured via paprefs, see above) #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" #load-module module-rtp-send source=rtp.monitor ### Load additional modules from GConf settings. This can be configured with the paprefs tool. ### Please keep in mind that the modules configured by paprefs might conflict with manually ### loaded modules. .ifexists module-gconf.so .nofail load-module module-gconf .fail .endif ### Automatically restore the default sink/source when changed by the user ### during runtime ### NOTE: This should be loaded as early as possible so that subsequent modules ### that look up the default sink/source get the right value load-module module-default-device-restore ### Automatically move streams to the default sink if the sink they are ### connected to dies, similar for sources load-module module-rescue-streams ### Make sure we always have a sink around, even if it is a null sink. load-module module-always-sink ### Honour intended role device property load-module module-intended-roles ### Automatically suspend sinks/sources that become idle for too long load-module module-suspend-on-idle ### If autoexit on idle is enabled we want to make sure we only quit ### when no local session needs us anymore. .ifexists module-console-kit.so load-module module-console-kit .endif .ifexists module-systemd-login.so load-module module-systemd-login .endif ### Enable positioned event sounds load-module module-position-event-sounds ### Cork music/video streams when a phone stream is active load-module module-role-cork ### Modules to allow autoloading of filters (such as echo cancellation) ### on demand. module-filter-heuristics tries to determine what filters ### make sense, and module-filter-apply does the heavy-lifting of ### loading modules and rerouting streams. load-module module-filter-heuristics load-module module-filter-apply # X11 modules should not be started from default.pa so that one daemon # can be shared by multiple sessions. ### Load X11 bell module #load-module module-x11-bell sample=x11-bell ### Register ourselves in the X11 session manager #load-module module-x11-xsmp ### Publish connection data in the X11 root window #.ifexists module-x11-publish.so #.nofail #load-module module-x11-publish #.fail #.endif ### Make some devices default #set-default-sink output #set-default-source input
#!/usr/bin/pulseaudio -nF # # This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. # This startup script is used only if PulseAudio is started in system # mode. ### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect .else ### Use the static hardware detection module (for systems that lack udev/hal support) load-module module-detect .endif ### Load several protocols .ifexists module-esound-protocol-unix.so load-module module-esound-protocol-unix .endif load-module module-native-protocol-unix ### Automatically restore the volume of streams and devices load-module module-stream-restore load-module module-device-restore ### Automatically restore the default sink/source when changed by the user ### during runtime ### NOTE: This should be loaded as early as possible so that subsequent modules ### that look up the default sink/source get the right value load-module module-default-device-restore ### Automatically move streams to the default sink if the sink they are ### connected to dies, similar for sources load-module module-rescue-streams ### Make sure we always have a sink around, even if it is a null sink. load-module module-always-sink ### Automatically suspend sinks/sources that become idle for too long load-module module-suspend-on-idle ### Enable positioned event sounds load-module module-position-event-sounds
default Playback/recording through the PulseAudio sound server null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server sysdefault:CARD=AudioPCI Ensoniq AudioPCI, ES1371 DAC2/ADC Default Audio Device front:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC Front speakers rear:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC1 Rear speakers surround40:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC 4.0 Surround output to Front and Rear speakers iec958:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC IEC958 (S/PDIF) Digital Audio Output dmix:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC Direct sample mixing device dmix:CARD=AudioPCI,DEV=1 Ensoniq AudioPCI, ES1371 DAC1 Direct sample mixing device dsnoop:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC Direct sample snooping device dsnoop:CARD=AudioPCI,DEV=1 Ensoniq AudioPCI, ES1371 DAC1 Direct sample snooping device hw:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC Direct hardware device without any conversions hw:CARD=AudioPCI,DEV=1 Ensoniq AudioPCI, ES1371 DAC1 Direct hardware device without any conversions plughw:CARD=AudioPCI,DEV=0 Ensoniq AudioPCI, ES1371 DAC2/ADC Hardware device with all software conversions plughw:CARD=AudioPCI,DEV=1 Ensoniq AudioPCI, ES1371 DAC1 Hardware device with all software conversions
Connection failure: Protocol error
Connection failure: Protocol error