Skip to content

[Problem]: Complete crash while streaming due to output_device_error_19 #2058

@jmt-gh

Description

@jmt-gh

What happened?

This happens both when running as a service, or manually running in userspace (though anecdotally, I feel like I've had better luck in having less time between crashes when manually running?). I have seen a few issues that report the same output_device_error_19 error, but they don't seem to be related to a crash during normal functionality.

What happens:

  • Start shairport-sync
user@raspberrypi:~ $ shairport-sync
         0.002888646 "shairport.c:2285" Startup in classic Airplay (aka "AirPlay 1") mode.
         0.000227604 "shairport.c:2321" Version String: "4.3.7-4-g188aa527-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc"
         0.000036459 "shairport.c:2340" Command Line: "shairport-sync".
         0.000025677 "shairport.c:2376" Log Verbosity is 3.
         0.000037604 "audio_alsa.c:1065" alsa: init() -- alsa_backend_state => abm_disconnected.
         0.000027448 "audio_alsa.c:1082" alsa: alsa_maximum_stall_time of 0.200000 sec.
         0.000076562 "audio_alsa.c:1371" alsa: disable_standby_mode is "never".
         0.000026459 "audio_alsa.c:1375" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds.
         0.000029271 "audio_alsa.c:1377" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds.
         0.000036718 "audio_alsa.c:1417" alsa: output device name is "default".
         0.000383334 "shairport.c:2411" The processor is running little-endian.
         0.000043125 "shairport.c:2444" disable_resend_requests is off.
         0.000028698 "shairport.c:2445" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
         0.000020416 "shairport.c:2449" statistics_requester status is 0.
         0.000025573 "shairport.c:2454" rtsp listening port is 5000.
         0.000025625 "shairport.c:2455" udp base port is 6001.
         0.000024323 "shairport.c:2456" udp port range is 10.
         0.000024531 "shairport.c:2457" player name is "Raspberrypi".
         0.000024428 "shairport.c:2458" backend is "alsa".
         0.000024114 "shairport.c:2459" run_this_before_play_begins action is "(null)".
         0.000011302 "audio_alsa.c:2110" keep_dac_busy is now "no"
         0.000036458 "shairport.c:2460" run_this_after_play_ends action is "(null)".
         0.000027448 "shairport.c:2461" wait-cmd status is 0.
         0.000024636 "shairport.c:2462" run_this_before_play_begins may return output is 0.
         0.000025729 "shairport.c:2463" run_this_if_an_unfixable_error_is_detected action is "(null)".
         0.000041927 "shairport.c:2465" run_this_before_entering_active_state action is  "(null)".
         0.000078333 "shairport.c:2467" run_this_after_exiting_active_state action is  "(null)".
         0.000039063 "shairport.c:2469" active_state_timeout is  10.000000 seconds.
         0.000033594 "shairport.c:2470" mdns backend "(null)".
         0.000024687 "shairport.c:2471" userSuppliedLatency is 0.
         0.000024688 "shairport.c:2472" interpolation setting is "auto".
         0.000024843 "shairport.c:2476" interpolation soxr_delay_threshold is 30000000.
         0.000025730 "shairport.c:2477" resync time is 0.050000 seconds.
         0.000027708 "shairport.c:2478" resync recovery time is 0.100000 seconds.
         0.000027656 "shairport.c:2479" allow a session to be interrupted: 0.
         0.000024688 "shairport.c:2480" busy timeout time is 120.
         0.000024635 "shairport.c:2481" drift tolerance is 0.002000 seconds.
         0.000027292 "shairport.c:2482" password is not set.
         0.000024218 "shairport.c:2483" default airplay volume is: -24.000000.
         0.000029323 "shairport.c:2484" high threshold airplay volume is: -16.000000.
         0.000029219 "shairport.c:2486" check for higher-than-threshold volume for new play session is disabled.
         0.000025729 "shairport.c:2492" ignore_volume_control is 0.
         0.000024584 "shairport.c:2496" volume_max_db is not set
         0.000023229 "shairport.c:2497" volume range in dB (zero means use the range specified by the mixer): 0.
         0.000027239 "shairport.c:2499" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0.
         0.000027032 "shairport.c:2503" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
         0.000033593 "shairport.c:2505" disable_synchronization is 0.
         0.000024688 "shairport.c:2506" use_mmap_if_available is 1.
         0.000024583 "shairport.c:2507" output_format automatic selection is enabled.
         0.000025104 "shairport.c:2511" output_rate automatic selection is enabled.
         0.000024740 "shairport.c:2515" audio backend desired buffer length is 0.200000 seconds.
         0.000027760 "shairport.c:2517" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds.
         0.000029063 "shairport.c:2519" audio backend latency offset is 0.000000 seconds.
         0.000028021 "shairport.c:2521" audio backend silence lead-in time is "auto".
         0.000090104 "shairport.c:2525" zeroconf regtype is "_raop._tcp".
         0.000046510 "shairport.c:2526" decoders_supported field is 1.
         0.000037761 "shairport.c:2527" use_apple_decoder is 0.
         0.000030989 "shairport.c:2528" alsa_use_hardware_mute is 0.
         0.000028594 "shairport.c:2532" no special mdns service interface was requested.
         0.000154427 "shairport.c:2535" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
         0.000094688 "shairport.c:2566" loudness is 0.
         0.000085104 "shairport.c:2567" loudness reference level is -20.000000
         0.015180364 "activity_monitor.c:163" am_state: am_inactive
         0.011834219 "mdns_avahi.c:220" avahi: service '70502AE56001@Raspberrypi' group is not yet committed.
         0.003668490 "mdns_avahi.c:277" avahi: avahi_entry_group_commit 0
         0.000504791 "mdns_avahi.c:477" avahi_dacp_monitor_start Avahi DACP monitor successfully started
         0.000367084 "mdns_avahi.c:224" avahi: service '70502AE56001@Raspberrypi' group is registering.
         0.777679114 "mdns_avahi.c:191" avahi: service '70502AE56001@Raspberrypi' successfully added.
         0.694357760 "shairport.c:248" soxr_delay: 7089769 nanoseconds, soxr_delay_threshold: 30 milliseconds.
         0.000095261 "shairport.c:255" "soxr" interpolation has been chosen.
  • Connect via iphone
  • Start streaming audio (podcast in this case)
  • Everything works. Audio starts streaming, I start seeing tons of streaming logs:
         0.002389375 "player.c:1153" Check packet from buffer 29931, timestamp 722981178, 0.184980 seconds ahead.
         0.002568177 "player.c:1153" Check packet from buffer 29932, timestamp 722981530, 0.190394 seconds ahead.
         0.002445730 "player.c:1153" Check packet from buffer 29933, timestamp 722981882, 0.195930 seconds ahead.
         0.000218125 "player.c:1153" Check packet from buffer 29934, timestamp 722982234, 0.203693 seconds ahead.
         0.032060104 "player.c:1153" Check packet from buffer 29934, timestamp 722982234, 0.171634 seconds ahead.
         0.000184323 "player.c:1153" Check packet from buffer 29935, timestamp 722982586, 0.179430 seconds ahead.
         0.002421458 "player.c:1153" Check packet from buffer 29936, timestamp 722982938, 0.184991 seconds ahead.
         0.000206927 "player.c:1153" Check packet from buffer 29937, timestamp 722983290, 0.192765 seconds ahead.
         0.000139115 "player.c:1153" Check packet from buffer 29938, timestamp 722983642, 0.200607 seconds ahead.
         0.007619948 "player.c:1153" Check packet from buffer 29938, timestamp 722983642, 0.192990 seconds ahead.
  • After some arbitrary amount of time, audio stops playing
  • There are still a few of the logs from above coming in
  • Shortly after a crash with the following error:
         0.002511094 "player.c:1153" Check packet from buffer 36322, timestamp 725230810, 0.203841 seconds ahead.
         0.032086719 "player.c:1153" Check packet from buffer 36322, timestamp 725230810, 0.171758 seconds ahead.
         0.000195365 "audio_alsa.c:1794" alsa: DAC in odd SND_PCM_STATE_* 8 prior to writing.
         0.000040156 "audio_alsa.c:1841" alsa: SND_PCM_STATE_* 8, error -19 ("No such device") writing 353 samples to alsa device.
         0.000017760 "audio_alsa.c:179" *fatal error: An unrecoverable error, "output_device_error_19", has been detected. Doing an emergency exit, as no run_this_if_an_unfixable_error_is_detected program.
         0.000022136 "shairport.c:1577" exit_rtsp_listener begins
         0.000054895 "shairport.c:1582" exit_rtsp_listener ends
         0.002011980 "shairport.c:1586" exit_function begins
         0.000095260 "shairport.c:1736" emergency exit

Relevant log output

0.002511094 "player.c:1153" Check packet from buffer 36322, timestamp 725230810, 0.203841 seconds ahead.
         0.032086719 "player.c:1153" Check packet from buffer 36322, timestamp 725230810, 0.171758 seconds ahead.
         0.000195365 "audio_alsa.c:1794" alsa: DAC in odd SND_PCM_STATE_* 8 prior to writing.
         0.000040156 "audio_alsa.c:1841" alsa: SND_PCM_STATE_* 8, error -19 ("No such device") writing 353 samples to alsa device.
         0.000017760 "audio_alsa.c:179" *fatal error: An unrecoverable error, "output_device_error_19", has been detected. Doing an emergency exit, as no run_this_if_an_unfixable_error_is_detected program.
         0.000022136 "shairport.c:1577" exit_rtsp_listener begins
         0.000054895 "shairport.c:1582" exit_rtsp_listener ends
         0.002011980 "shairport.c:1586" exit_function begins
         0.000095260 "shairport.c:1736" emergency exit

System Information.

user@raspberrypi:~ $ uname -a
Linux raspberrypi 6.12.34+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 GNU/Linux

user@raspberrypi:~ $ neofetch
       _,met$$$$$gg.          user@raspberrypi 
    ,g$$$$$$$$$$$$$$$P.       ---------------- 
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 12 (bookworm) aarch64 
 ,$$P'              `$$$.     Host: Raspberry Pi 3 Model B Plus Rev 1.3 
',$$P       ,ggs.     `$$b:   Kernel: 6.12.34+rpt-rpi-v8 
`d$$'     ,$P"'   .    $$$    Uptime: 30 mins 
 $$P      d$'     ,    $$P    Packages: 766 (dpkg) 
 $$:      $$.   -    ,d$$'    Shell: bash 5.2.15 
 $$;      Y$b._   _,d$P'      Terminal: /dev/pts/0 
 Y$$.    `.`"Y$$$$P"'         CPU: (4) @ 1.400GHz 
 `$$b      "-.__              Memory: 93MiB / 906MiB 
  `Y$$
   `Y$$.                                              
     `$$b.                                            
       `Y$$b.
          `"Y$b._
              `"""

Using these USB speakers (Creative Pebble V3 Minimalistic 2.0 Desktop Speakers With USB-C Audio, Clear Dialog Enhancement, Bluetooth 5.0, 8W RMS, 16W Peak Power, USB-A Converter (Black) ):
https://www.amazon.com/dp/B08F57GSJ7

The speakers are set as the default audio output via raspi-config.

Configuration Information.

user@raspberrypi:~ $ shairport-sync --displayConfig
         0.002269948 "shairport.c:2133" >> Display Config Start.
         0.005466771 "shairport.c:2133" 
         0.000165417 "shairport.c:2133" From "uname -a":
         0.000073385 "shairport.c:2133"  Linux raspberrypi 6.12.34+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 GNU/Linux
         0.011497396 "shairport.c:2133" 
         0.000182240 "shairport.c:2133" From /etc/os-release:
         0.000076666 "shairport.c:2133"  Debian GNU/Linux 12 (bookworm)
         0.007593854 "shairport.c:2133" 
         0.000149584 "shairport.c:2133" From /sys/firmware/devicetree/base/model:
         0.000068125 "shairport.c:2133"  Raspberry Pi 3 Model B Plus Rev 1.3
         0.000146458 "shairport.c:2133" 
         0.000065521 "shairport.c:2133" Shairport Sync Version String:
         0.000069427 "shairport.c:2133"  4.3.7-4-g188aa527-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
         0.000068958 "shairport.c:2133" 
         0.000072032 "shairport.c:2133" Command Line:
         0.000061823 "shairport.c:2133"  shairport-sync --displayConfig
         0.000170156 "shairport.c:2133" 
         0.000066823 "shairport.c:2133" Configuration File:
         0.000071927 "shairport.c:2133"  /etc/shairport-sync.conf
         0.000063854 "shairport.c:2133" 
         0.000320573 "shairport.c:2133" Configuration File Settings:
         0.000078698 "shairport.c:2133"  diagnostics : 
         0.000065416 "shairport.c:2133"  {
         0.000121563 "shairport.c:2133"    log_verbosity = 3;
         0.000067969 "shairport.c:2133"  };
         0.000064062 "shairport.c:2133" 
         0.000059948 "shairport.c:2133" >> Display Config End.
         0.000072552 "shairport.c:2135" >> Goodbye!
         0.000126250 "shairport.c:1586" exit_function begins
         0.000063438 "shairport.c:1596" exit function called...
         0.000060833 "shairport.c:1606" Stopping the activity monitor.
         0.000072656 "shairport.c:1608" Stopping the activity monitor done.
         0.000080521 "mdns.c:137" Can't stop a DACP monitor -- no mdns_dacp_monitor_stop registered.
         0.000065573 "shairport.c:1733" normal exit


user@raspberrypi:~ $ shairport-sync -V
4.3.7-4-g188aa527-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc

PulseAudio or PipeWire installed?

  • Check if your system uses a Sound Server.

How did you install Shairport Sync?

Built from source

Check previous issues

  • Confirm

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions