Closed gAlleb closed 1 month ago
One time it has stopped looping with a message:
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.874:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to main with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.875:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to on_track with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.876:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to main with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.877:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to on_track with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.878:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to main with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.879:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to on_track with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.880:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Switch to main with transition.
liquidsoap-1 | 2024/08/03 09:00:49 [replay_metadata.881:3] Content type is {audio=pcm(stereo)}.
liquidsoap-1 | 2024/08/03 09:00:49 [switch.5:3] Source created multiple tracks in a single frame! Sub-frame tracks are not supported and are merged into a single one..
So this is minimal reproduction which I could get. I think number of playlists somehow connected. Only one playlist with check
function. Happens with alpine 10453cf85.
%include "/home/radio/liquidsoap/autocue/autocue.cue_file-2.3.0.liq"
enable_autocue_metadata()
def my_hash(m)
artist = metadata.artist(m)
string.trim(artist)
end
l = playlog(persistency="/home/radio/liquidsoap/omfm/log/songs_check_omfm.log", duration=7200.,hash=my_hash)
def check(r)
#log.critical(label="request.uri","#{request.uri(r)}")
if request.resolve(r) then
m = request.metadata(r)
if l.last(m) < 6000. then
log(level=3,"Rejecting #{m['artist']} (played #{l.last(m)}s ago).")
false
else
l.add(m)
true
end
else
false
end
end
# one playlist with check function
relax = playlist(check_next=check,prefix='annotate:liq_blankskip="false",playlist="Main Playlist":',id="omFM Main Playlist", reload_mode="watch", "/home/radio/playlist/icecast-playlist-relax.m3u")
# other playlists
…
…
…
omfm_0 = relax
omfm_0 = switch([
({23h-4h}, lofi2),
({4h-6h}, mantraom528),
({10h-11h}, omfmclassic),
(predicate.at_most(2,{23h00-23h15}), jinglesnightshiftintroomfm),
(predicate.at_most(2,{10h00m-10h15m}), jinglesclassicintroomfm),
(predicate.once({10h20m-10h50m}), jinglesclassicomfm),
(predicate.once({9h-10h or 11h-13h or 13h-16h or 18h-19h or 20h-21h or 22h-23h}), suttas),
(predicate.once({19h-20h}), nazarenko),
({6h0m-10h0m or 11h0m-23h0m }, rotate(weights=[1,4], [jinglesomfm, omfm_0])),
({true}, omfm_0)
])
icecast_omfm = mksafe(omfm_0)
output.icecast(%mp3(bitrate=128))
Maybe I’m doing something wrong with check_next function. It started happening only with the above release. @toots, maybe it’s because of adding autocue.cue_file? However before 10453cf85 everything was great.
This is very likely fixed in the latest rolling-release-v2.3.x
Hi! Any update on this one?
Haven't noticed it for a while. Let's close this one. Thanks!
Description
To separate bugs, I've created this issue regarding infinite loop.
Quiet Bug
in Azuracast issue is here https://github.com/savonet/liquidsoap/issues/40641. Sometimes this happens during startup (1 out of 5 times) - with alpine image:
This could be connected with
From my dilettant point of view it all started from https://github.com/savonet/liquidsoap/commit/ae87e3b7567a7313d0473912e7ba4b95bf4bea2d (
2.3.0+git@10453cf
). Making resolution concurrent somehow messes up this function and maybe check_next - sometimes resulting in a loop. This has never happened before.Looks like sometimes under load on startup when playing first jingle and waiting for
autocue
calculation -security
kicks in and then this loop.Steps to reproduce
Liquidsoap version
Liquidsoap build config
Installation method
From official container image
Additional Info
No response