process:// creates zombies
Author: ettomCreated Aug 27, 2026Updated Aug 27, 2026
Describe the bug A clear and concise description of what the bug is. When running mpv via process://, and if mpv fails to start (e.g. yt-dlp failure), an excessive amount of zombie processes are created.
Steps to Reproduce
- Create the following script (just closes stdout and sleeps):
#!/bin/sh
exec >&-
sleep 1- Run snapserver configured to use that in
process://:
snapserver -c /dev/null --stream.source "process://$HOME/reproducer?name=repro"- Observe a zombie process created every 100ms
Environment details
- OS: NixOS 26.05
- Snapcast version: 0.35.0
- Installed from a package
Attach logfile if applicable
Generate logs with snapclient --logfilter debug or snapserver --logging.filter debug if possible and paste them in the following codeblock
2026-08-27 20-19-19.576 [Info] (Snapserver) Version 0.35.0
2026-08-27 20-19-19.576 [Info] (Snapserver) Stream plugin directory: '"/usr/share/snapserver/plug-ins"', sandbox directory: '"/usr/share/snapserver/sandbox"'
2026-08-27 20-19-19.576 [Info] (Snapserver) Adding source: process:///home/ettom/reproducer?name=repro
2026-08-27 20-19-19.578 [Error] (Avahi) avahi_entry_group_new() failed: Not permitted
2026-08-27 20-19-19.578 [Info] (Snapserver) Using HTTP host name: P14s
2026-08-27 20-19-19.582 [Info] (PcmStream) PcmStream: repro, sampleFormat: 48000:16:2
2026-08-27 20-19-19.583 [Info] (Server) Stream: {"fragment":"","host":"","path":"/home/ettom/reproducer","query":{"chunk_ms":"20","codec":"flac","name":"repro","sampleformat":"48000:16:2"},"raw":"process:///home/ettom/reproducer?chunk_ms=20&codec=flac&name=repro&sampleformat=48000%3A16%3A2","scheme":"process"}
2026-08-27 20-19-19.583 [Info] (FlacEnc) Init - compression level: 2
2026-08-27 20-19-19.584 [Info] (ControlServer) Creating TCP control acceptor for address: ::, port: 1705
2026-08-27 20-19-19.584 [Info] (ControlServer) Creating HTTP acceptor for address: ::, port: 1780
2026-08-27 20-19-19.584 [Info] (StreamServer) Creating TCP stream acceptor for address: ::, port: 1704
2026-08-27 20-19-19.584 [Info] (Snapserver) Number of threads: 4, hw threads: 16
2026-08-27 20-19-19.586 [Error] (AsioStream) Error reading message in stream 'repro': End of file, length: 0, ec: asio.misc:2
2026-08-27 20-19-19.688 [Error] (ProcessStream) Error while reading from stderr: Operation canceled
2026-08-27 20-19-19.794 [Error] (ProcessStream) Error while reading from stderr: Operation canceled
2026-08-27 20-19-19.900 [Error] (ProcessStream) Error while reading from stderr: Operation canceled
...Source: snapcast/snapcast