Snapclient does not exit
Author: dschrempfCreated Mar 23, 2026Updated May 28, 2026
Describe the bug
When killing snapclient (default TERM signal) the client reports PipeWirePlayer stop, but then the client does not exit (see logs below).
Steps to Reproduce
- Run
snapclient(see flags below) - Kill the client
- The client does some form of shutdown, but then stays in a zombie state
This is especially annoying when shutting down the computer (systemd waits 90s by default before sending SIGKILL).
Environment details
- OS: NixOS
- Snapcast version 0.35.0
- Installed from Nixpkgs
Debug logs (I killed the process using kill)
$ /nix/store/3schzisivpfzww398qdvawbq0pg39qsm-snapcast-0.34.0/bin/snapclient --logfilter *:debug --player pipewire tcp://localhost:1704
2026-03-23 12-05-58.784 [Debug] (StreamUri) StreamUri: tcp://localhost:1704
2026-03-23 12-05-58.784 [Debug] (StreamUri) StreamUri.toString: tcp://localhost:1704
2026-03-23 12-05-58.784 [Debug] (Snapclient) Trying to get PCM device for player: pipewire, parameter: , card: default
2026-03-23 12-05-58.993 [Info] (PipeWirePlayer) Found 1 audio devices
2026-03-23 12-05-58.993 [Info] (Snapclient) Version 0.34.0
2026-03-23 12-05-58.998 [Info] (Connection) Resolving host IP for: localhost
2026-03-23 12-05-59.000 [Debug] (Connection) Resolved IP: ::1
2026-03-23 12-05-59.000 [Debug] (Connection) Resolved IP: 127.0.0.1
2026-03-23 12-05-59.000 [Info] (Connection) Connecting to host: [::1]:1704, port: 1704, protocol: tcp
2026-03-23 12-05-59.001 [Notice] (Connection) Connected to localhost
2026-03-23 12-05-59.001 [Info] (Connection) My MAC: "REMOVED", socket: 8
2026-03-23 12-05-59.044 [Info] (Controller) ServerSettings - buffer: 1000, latency: 0, volume: 100, muted: 0
2026-03-23 12-05-59.044 [Info] (Controller) Codec: flac, sampleformat: 48000:16:2
2026-03-23 12-05-59.044 [Info] (Player) Player name: pipewire, device: default, description: Let PipeWire choose the device, idx: -1, sharing mode: unspecified, parameters: <none>
2026-03-23 12-05-59.044 [Info] (Player) Mixer mode: software, parameters: <none>
2026-03-23 12-05-59.044 [Info] (Player) Sampleformat: 48000:16:2, stream: 48000:16:2
2026-03-23 12-05-59.044 [Debug] (PipeWirePlayer) Pipewire player
2026-03-23 12-05-59.044 [Debug] (PipeWirePlayer) Start
2026-03-23 12-05-59.051 [Debug] (PipeWirePlayer) Stream param changed, type: 20
2026-03-23 12-05-59.051 [Debug] (PipeWirePlayer) Stream param changed, type: 15
2026-03-23 12-05-59.052 [Debug] (Player) setVolume exp with base 10: 1 => 1
2026-03-23 12-05-59.053 [Debug] (PipeWirePlayer) Starting main loop
2026-03-23 12-05-59.088 [Debug] (PipeWirePlayer) Stream param changed, type: 2
2026-03-23 12-05-59.092 [Info] (Controller) diff to server [ms]: -0.009
2026-03-23 12-06-23.593 [Info] (Snapclient) Received signal 15: Terminated
2026-03-23 12-06-23.593 [Debug] (PipeWirePlayer) Destructor
2026-03-23 12-06-23.593 [Info] (PipeWirePlayer) StopEDIT: Also happens with snapcast version 0.35.
Source: snapcast/snapcast