savonet / liquidsoap

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.
http://liquidsoap.info
GNU General Public License v2.0
1.4k stars 130 forks source link

2.3.0+git@10453cf and 2.3.0+git@383d1d8 `quiet bug` on Azuracast #4064

Closed gAlleb closed 2 months ago

gAlleb commented 2 months ago

Description

1. Sometimes (what is strange) LS just stops without logs and restarts. Quiet restart. This happen on bookworm.deb (2.3.0+git@10453cf85 with Azuracast release dev-ls2.3.x (no exit code given). Nothing with log level 4 as well. Has happened 5 time over 2 days.

Also happened with 2.3.0+git@383d1d8 debian release on Azuracast before updating to 10453cf85

See https://github.com/AzuraCast/AzuraCast/discussions/7354

2024/08/01 10:38:25 [decoder.ffmpeg:3] Requested content-type for "/var/azuracast/stations/radio/media/GoogleDrive_music/rock/Rare Bird/Rare Bird - 1974 - Born Again/07. Peace Of Mind.mp3": {audio=pcm(stereo)}
2024/08/01 10:38:25 [decoder.ffmpeg:3] FFmpeg recognizes "/var/azuracast/stations/radio/media/GoogleDrive_music/rock/Rare Bird/Rare Bird - 1974 - Born Again/07. Peace Of Mind.mp3" as audio: {codec: mp3, 44100Hz, 2 channel(s)}, video: {codec: mjpeg, 300x300, yuvj422p}
2024/08/01 10:38:25 [decoder.ffmpeg:3] Decoded content-type for "/var/azuracast/stations/radio/media/GoogleDrive_music/rock/Rare Bird/Rare Bird - 1974 - Born Again/07. Peace Of Mind.mp3": {audio=pcm(stereo)}
2024/08/01 10:43:39 >>> LOG START
2024/08/01 10:43:32 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/08/01 10:43:32 [main:3] Liquidsoap 2.3.0+git@10453cf85

Steps to reproduce

Install Azuracast release dev-ls2.3.x and observe.

Expected behavior

No LS restarts

Liquidsoap version

Liquidsoap 2.3.0+git@10453cf85 deb.  https://github.com/savonet/liquidsoap/releases/download/rolling-release-v2.3.x/liquidsoap-10453cf_2.3.0-debian-bookworm-1_amd64.deb

Liquidsoap build config


 * Liquidsoap version  : 2.3.0+git@10453cf85

 * Compilation options
   - Release build       : false
   - Git SHA             : 10453cf85
   - OCaml version       : 4.14.2
   - OS type             : Unix
   - Libs versions       : alsa=0.3.0 angstrom=0.16.0 ao=0.2.4 asetmap=0.8.1 asn1-combinators=0.2.6 astring=0.8.5 base=v0.16.3 base.base_internalhash_types=v0.16.3 base.caml=v0.16.3 base.shadow_stdlib=v0.16.3 base64=3.5.1 bigarray=[distributed with Ocaml] bigarray-compat=1.1.0 bigstringaf=0.9.1 bjack=0.1.6 bos=0.2.1 bytes=[distributed with OCaml 4.02 or above] ca-certs=v0.2.3 camlp-streams camomile.lib=2.0 cohttp=5.3.1 cohttp-lwt=5.3.0 cohttp-lwt-unix=5.3.0 conduit=6.2.3 conduit-lwt=6.2.3 conduit-lwt-unix=6.2.3 cry=1.0.3 cstruct=6.2.0 ctypes=0.22.0 ctypes-foreign=0.22.0 ctypes.stubs=0.22.0 curl=0.9.2 domain-name=0.4.0 domain_shims dssi=0.1.5 dtools=0.4.5 dune-build-info=3.16.0 dune-private-libs.dune-section=3.16.0 dune-site=3.16.0 dune-site.private=3.16.0 duppy=0.9.4 eqaf=0.9 eqaf.bigstring=0.9 eqaf.cstruct=0.9 faad=0.5.2 fdkaac=0.3.3 ffmpeg-av=1.2.0 ffmpeg-avcodec=1.2.0 ffmpeg-avdevice=1.2.0 ffmpeg-avfilter=1.2.0 ffmpeg-avutil=1.2.0 ffmpeg-swresample=1.2.0 ffmpeg-swscale=1.2.0 fileutils=0.6.4 flac=0.5.1 flac.decoder=0.5.1 flac.ogg=0.5.1 fmt=0.9.0 fpath=0.7.3 frei0r=0.1.2 gd=1.1 gen=1.1 gmap=0.3.0 hkdf=1.0.4 inotify=2.0-62-g5e58536 integers ipaddr=5.6.0 ipaddr-sexp=5.6.0 ipaddr.unix=5.6.0 irc-client irc-client-unix ladspa=0.2.2 lame=0.3.7 lastfm=0.3.4 lilv=0.2.0 liquidsoap-lang=2.3.0 liquidsoap-lang.console=2.3.0 liquidsoap_alsa=rolling-release-v2.3.x-2-g10453cf liquidsoap_ao=rolling-release-v2.3.x-2-g10453cf liquidsoap_bjack=rolling-release-v2.3.x-2-g10453cf liquidsoap_builtins=rolling-release-v2.3.x-2-g10453cf liquidsoap_core=rolling-release-v2.3.x-2-g10453cf liquidsoap_dssi=rolling-release-v2.3.x-2-g10453cf liquidsoap_faad=rolling-release-v2.3.x-2-g10453cf liquidsoap_fdkaac=rolling-release-v2.3.x-2-g10453cf liquidsoap_ffmpeg=rolling-release-v2.3.x-2-g10453cf liquidsoap_flac=rolling-release-v2.3.x-2-g10453cf liquidsoap_frei0r=rolling-release-v2.3.x-2-g10453cf liquidsoap_gd=rolling-release-v2.3.x-2-g10453cf liquidsoap_irc=rolling-release-v2.3.x-2-g10453cf liquidsoap_ladspa=rolling-release-v2.3.x-2-g10453cf liquidsoap_lame=rolling-release-v2.3.x-2-g10453cf liquidsoap_lastfm=rolling-release-v2.3.x-2-g10453cf liquidsoap_lilv=rolling-release-v2.3.x-2-g10453cf liquidsoap_lo=rolling-release-v2.3.x-2-g10453cf liquidsoap_mad=rolling-release-v2.3.x-2-g10453cf liquidsoap_ogg=rolling-release-v2.3.x-2-g10453cf liquidsoap_ogg_flac=rolling-release-v2.3.x-2-g10453cf liquidsoap_optionals=rolling-release-v2.3.x-2-g10453cf liquidsoap_opus=rolling-release-v2.3.x-2-g10453cf liquidsoap_osc=rolling-release-v2.3.x-2-g10453cf liquidsoap_oss=rolling-release-v2.3.x-2-g10453cf liquidsoap_portaudio=rolling-release-v2.3.x-2-g10453cf liquidsoap_posix_time=rolling-release-v2.3.x-2-g10453cf liquidsoap_prometheus=rolling-release-v2.3.x-2-g10453cf liquidsoap_pulseaudio=rolling-release-v2.3.x-2-g10453cf liquidsoap_runtime=rolling-release-v2.3.x-2-g10453cf liquidsoap_samplerate=rolling-release-v2.3.x-2-g10453cf liquidsoap_sdl=rolling-release-v2.3.x-2-g10453cf liquidsoap_sdl_log_level=rolling-release-v2.3.x-2-g10453cf liquidsoap_shine=rolling-release-v2.3.x-2-g10453cf liquidsoap_soundtouch=rolling-release-v2.3.x-2-g10453cf liquidsoap_speex=rolling-release-v2.3.x-2-g10453cf liquidsoap_sqlite=rolling-release-v2.3.x-2-g10453cf liquidsoap_srt=rolling-release-v2.3.x-2-g10453cf liquidsoap_ssl=rolling-release-v2.3.x-2-g10453cf liquidsoap_stdlib=rolling-release-v2.3.x-2-g10453cf liquidsoap_stereotool=rolling-release-v2.3.x-2-g10453cf liquidsoap_taglib=rolling-release-v2.3.x-2-g10453cf liquidsoap_theora=rolling-release-v2.3.x-2-g10453cf liquidsoap_tls=rolling-release-v2.3.x-2-g10453cf liquidsoap_vorbis=rolling-release-v2.3.x-2-g10453cf liquidsoap_xmlplaylist=rolling-release-v2.3.x-2-g10453cf liquidsoap_yaml=rolling-release-v2.3.x-2-g10453cf lo=0.2.0 logs=0.7.0 logs.fmt=0.7.0 logs.lwt=0.7.0 lwt=5.7.0 lwt.unix=5.7.0 macaddr=5.6.0 mad=0.5.3 magic-mime=1.3.1 mem_usage=0.1.1 memtrace=0.2.3 menhirLib=20231231 metadata=0.3.0 mirage-crypto=0.11.3 mirage-crypto-ec=0.11.3 mirage-crypto-pk=0.11.3 mirage-crypto-rng=0.11.3 mirage-crypto-rng.unix=0.11.3 mm=0.8.5 mm.audio=0.8.5 mm.base=0.8.5 mm.image=0.8.5 mm.midi=0.8.5 mm.video=0.8.5 ocplib-endian ocplib-endian.bigstring ogg=0.7.4 ogg.decoder=0.7.4 opus=0.2.3 opus.decoder=0.2.3 osc osc-unix parsexp=v0.16.0 pbkdf portaudio=0.2.3 posix-base=5a7f328 posix-socket=5a7f328 posix-socket.constants=5a7f328 posix-socket.stubs=5a7f328 posix-socket.types=5a7f328 posix-time2=5a7f328 posix-time2.constants=5a7f328 posix-time2.stubs=5a7f328 posix-time2.types=5a7f328 posix-types=5a7f328 posix-types.constants=5a7f328 ppx_compare.runtime-lib=v0.16.0 ppx_hash.runtime-lib=v0.16.0 ppx_sexp_conv.runtime-lib=v0.16.0 prometheus=1.2 prometheus-app=1.2 ptime=1.1.0 ptime.clock.os=1.1.0 pulseaudio=0.1.6 re=1.11.0 result=1.5 rresult=0.7.0 samplerate=0.1.7 saturn_lockfree=0.4.1 sedlex=3.2 seq=[distributed with OCaml 4.07 or above] sexplib=v0.16.0 sexplib0=v0.16.0 shine=0.2.3 soundtouch=0.1.9 speex=0.4.2 speex.decoder=0.4.2 sqlite3=5.1.0 srt=0.3.1 srt.constants=0.3.1 srt.stubs=0.3.1 srt.stubs.locked=0.3.1 srt.types=0.3.1 ssl=0.7.0 stdlib-shims=0.3.0 stereotool=rolling-release-v2.3.x-2-g10453cf str=[distributed with Ocaml] stringext=1.6.0 taglib=0.3.10 theora=0.4.1 theora.decoder=0.4.1 threads=[distributed with Ocaml] threads.posix=[internal] tls=0.17.4 tsdl=v1.0.0 tsdl-image=0.5 tsdl-ttf=0.6 unix=[distributed with Ocaml] unix-errno=52c6ecb unix-errno.errno_bindings=52c6ecb unix-errno.errno_types=52c6ecb unix-errno.errno_types_detected=52c6ecb unix-errno.unix=52c6ecb uri=4.4.0 uri-sexp=4.4.0 uri.services=4.4.0 vorbis=0.8.1 vorbis.decoder=0.8.1 x509=0.16.5 xmlm=1.4.0 xmlplaylist=0.1.5 yaml=3.2.0 yaml.bindings=3.2.0 yaml.bindings.types=3.2.0 yaml.c=3.2.0 yaml.ffi=3.2.0 yaml.types=3.2.0 zarith=1.13
   - architecture        : amd64
   - host                : x86_64-pc-linux-gnu
   - target              : x86_64-pc-linux-gnu
   - system              : linux
   - ocamlopt_cflags     : -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC
   - native_c_compiler   : gcc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64
   - native_c_libraries  : -lm

 * Configured paths
   - mode              : posix
   - standard library  : /usr/share/liquidsoap/libs
   - scripted binaries : /usr/share/liquidsoap/bin
   - rundir            : /var/run/liquidsoap
   - logdir            : /var/log/liquidsoap
   - user cache        : $HOME/.cache/liquidsoap (override with $LIQ_CACHE_USER_DIR)
   - system cache      : /var/cache/liquidsoap (override with $LIQ_CACHE_SYSTEM_DIR)
   - camomile files    : /usr/share/liquidsoap/camomile

 * Supported input formats
   - MP3               : yes
   - AAC               : yes
   - Ffmpeg            : yes
   - Flac (native)     : yes
   - Flac (ogg)        : yes
   - Opus              : yes
   - Speex             : yes
   - Theora            : yes
   - Vorbis            : yes

 * Supported output formats
   - FDK-AAC           : yes
   - Ffmpeg            : yes
   - MP3               : yes
   - MP3 (fixed-point) : yes
   - Flac (native)     : yes
   - Flac (ogg)        : yes
   - Opus              : yes
   - Speex             : yes
   - Theora            : yes
   - Vorbis            : yes

 * Tags
   - Taglib (ID3 tags) : yes
   - Vorbis            : yes

 * Input / output
   - ALSA              : yes
   - AO                : yes
   - FFmpeg            : yes
   - JACK              : yes
   - OSS               : yes
   - Portaudio         : yes
   - Pulseaudio        : yes
   - SRT               : yes

 * Audio manipulation
   - FFmpeg            : yes
   - LADSPA            : yes
   - Lilv              : yes
   - Samplerate        : yes
   - SoundTouch        : yes
   - StereoTool        : yes

 * Video manipulation
   - camlimages        : no (requires camlimages)
   - FFmpeg            : yes
   - frei0r            : yes
   - ImageLib          : no (requires imagelib)
   - SDL               : yes

 * MIDI manipulation
   - DSSI              : yes

 * Visualization
   - GD                : yes
   - Graphics          : no (requires graphics)
   - SDL               : yes

 * Additional libraries
   - FFmpeg filters    : yes
   - FFmpeg devices    : yes
   - inotify           : yes
   - irc               : yes
   - jemalloc          : no (requires jemalloc)
   - lastfm            : yes
   - lo                : yes
   - memtrace          : no (requires memtrace)
   - osc               : yes
   - ssl               : yes
   - sqlite3           : yes
   - tls               : yes
   - posix-time2       : yes
   - windows service   : no (requires winsvc)
   - YAML support      : yes
   - XML playlists     : yes

 * Monitoring
   - Prometheus        : yes

Installation method

From official release page

AzuraCast release dev-ls2.3.x

Additional Info

No response

gAlleb commented 2 months ago

quiet reload bug happend 2 times for the last night on Azuracast Rolling Release #6a88cc9 with 2.3.0+git@10453cf.

UPDATE: 3 times:

2024/08/01 19:26:45 [decoder.ffmpeg:3] Requested content-type for "/var/azuracast/stations/radio/media/GoogleDrive_music/rock/Ария/Генератор Зла/1-05 Беги За Солнцем.mp3": {audio=pcm(stereo)}
2024/08/01 19:26:45 [decoder.ffmpeg:3] FFmpeg recognizes "/var/azuracast/stations/radio/media/GoogleDrive_music/rock/Ария/Генератор Зла/1-05 Беги За Солнцем.mp3" as audio: {codec: mp3, 44100Hz, 2 channel(s)}, video: {codec: png, 299x298, rgba}
2024/08/01 19:26:45 [decoder.ffmpeg:3] Decoded content-type for "/var/azuracast/stations/radio/media/GoogleDrive_music/rock/Ария/Генератор Зла/1-05 Беги За Солнцем.mp3": {audio=pcm(stereo)}
2024/08/01 19:30:34 >>> LOG START
2024/08/01 19:30:27 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/08/01 19:30:27 [main:3] Liquidsoap 2.3.0+git@10453cf85

UPDATE: 4 times. Another Azuracast Station (without any custom configuration) restarted:

2024/08/01 21:21:43 [decoder.ffmpeg:3] Requested content-type for "/var/azuracast/stations/radio/media/GoogleDrive_music/Ambient/_flac/Mystical Sun - Primordial Atmospheres (Remaster) (2007) [FLAC]/(01)-03 Apollo.flac": {audio=pcm(stereo)}
2024/08/01 21:21:43 [decoder.ffmpeg:3] FFmpeg recognizes "/var/azuracast/stations/radio/media/GoogleDrive_music/Ambient/_flac/Mystical Sun - Primordial Atmospheres (Remaster) (2007) [FLAC]/(01)-03 Apollo.flac" as audio: {codec: flac, 44100Hz, 2 channel(s)}, video: {codec: mjpeg, 500x500, yuvj420p}
2024/08/01 21:21:43 [decoder.ffmpeg:3] Decoded content-type for "/var/azuracast/stations/radio/media/GoogleDrive_music/Ambient/_flac/Mystical Sun - Primordial Atmospheres (Remaster) (2007) [FLAC]/(01)-03 Apollo.flac": {audio=pcm(stereo)}
2024/08/01 21:21:44 [cross.buffer.496:3] Content type is {audio=pcm(stereo)}.
2024/08/01 21:47:02 >>> LOG START
2024/08/01 21:46:53 [ffmpeg.filter.bitstream:3] No valid mode found for filter pgs_frame_merge!
2024/08/01 21:46:53 [main:3] Liquidsoap 2.3.0+git@10453cf85
gAlleb commented 2 months ago

Could this be a Segmentation fault too?