pacat crashes pulseaudio
Summary
When you run the command (zsh):
{
i=0
while true ; do
let i=$i+1
printf "$i"
done
} | pacat
, pulseaudio crashes. It doesn't crash at a specific point, it seems to happen at a random time while the command is running.
When Pulse crashes, pacat outputs:
Connection failure: Connection terminated
Stream error: Connection terminated
And pulseaudio (command pulseaudio -k ; pulseaudio -v
) outputs this at the end of its large output:
I: [pulseaudio] main.c: Daemon startup complete.
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.systemd1.NoSuchUnit: Unit dbus-org.bluez.service not found.
I: [pulseaudio] client.c: Created 1 "Native client (UNIX socket client)"
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: [pulseaudio] module-stream-restore.c: Restoring device for stream sink-input-by-application-name:pacat.
I: [pulseaudio] module-stream-restore.c: Restoring mute state for sink input sink-input-by-application-name:pacat.
I: [pulseaudio] sink-input.c: Created input 0 "pacat" on alsa_output.pci-0000_00_1b.0.analog-stereo with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink-input.c: application.name = "pacat"
I: [pulseaudio] sink-input.c: media.name = "pacat"
I: [pulseaudio] sink-input.c: native-protocol.peer = "UNIX socket client"
I: [pulseaudio] sink-input.c: native-protocol.version = "33"
I: [pulseaudio] sink-input.c: application.process.id = "9399"
I: [pulseaudio] sink-input.c: application.process.user = "ethan"
I: [pulseaudio] sink-input.c: application.process.host = "Mr-Topcue"
I: [pulseaudio] sink-input.c: application.process.binary = "pacat"
I: [pulseaudio] sink-input.c: application.language = "en_US.UTF-8"
I: [pulseaudio] sink-input.c: window.x11.display = ":0"
I: [pulseaudio] sink-input.c: application.process.machine_id = "ab948f60a7954ad98c89c31a1b15c991"
I: [pulseaudio] sink-input.c: application.process.session_id = "1"
I: [pulseaudio] sink-input.c: module-stream-restore.id = "sink-input-by-application-name:pacat"
I: [pulseaudio] protocol-native.c: Requested tlength=2000.00 ms, minreq=20.00 ms
I: [pulseaudio] protocol-native.c: Final latency 3960.00 ms = 1960.00 ms + 2*20.00 ms + 1960.00 ms
I: [pulseaudio] module-suspend-on-idle.c: Source alsa_input.pci-0000_00_1b.0.analog-stereo idle for too long, suspending ...
I: [alsa-source-ALC282 Analog] alsa-source.c: Device suspended...
W: [pulseaudio] asyncq.c: q overrun, queuing locally
W: [pulseaudio] asyncq.c: q overrun, queuing locally
W: [pulseaudio] asyncq.c: q overrun, queuing locally
W: [pulseaudio] asyncq.c: q overrun, queuing locally
W: [pulseaudio] asyncq.c: q overrun, queuing locally
zsh: killed pulseaudio -v
I would have run it as pulseaudio -vvvvv
, but any more verbose than pulseaudio -v
makes Pulse not die.... And when I do run it with -vvvvv
it outputs a lot of
D: [alsa-sink-ALC282 Analog] sink.c: alsa_output.pci-0000_00_1b.0.analog-stereo: Found underrun 56848 bytes ago (124448 bytes ahead in playback buffer)
, and the byte count in the parentheses decrease towards 0 bytes as the speakers make sound, and hit somewhere roughly in the range of 4 bytes -- 32 bytes when the buzzing stops (intermittently).
Environment
pa-info.txt
pa-info_stderr.txt
Steps to reproduce
Run the command at the top. As stated, pulseaudio shouldn't be running with any more verbosity than -v
(on my system).