#1516·snapcast

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

  1. Run snapclient (see flags below)
  2. Kill the client
  3. 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)

bash
$ /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) Stop

EDIT: Also happens with snapcast version 0.35.