Skip to content

[BUG] DPL stops itself right after starting #18

@fmueck

Description

@fmueck

Is there an existing issue for this?

  • I have searched the existing issues

Check common causes of LMS (plugin) problems

  • The list has no fix for my issue

What happened?

I had the dynamic playlists working, adding new titles... but not consistently. It does not work anymore now, after trying different players, restarts etc.
My setup consists of different players, where I tried to start/stop different dynamic playlists. Can there only be one dynamic playlist playing on one server, or are the players completely independent?

Now when I start a DPL (be it on a Squeezelite player or a Baby), both from the Material UI and the squeezer app, it stops itself right away with the toast message: Dynamic playlist stopped

Meaning new titles are no longer added, and it effectively becomes a static playlist.
The DPL menu item also does not show the "active DPL" in this case. Starting the DPL from this menu also does not change the mentioned behavior.

Expected Behavior

DPLs should work normally and not stop adding tracks right after being started.

Steps To Reproduce

Start a DPL, check if new tracks are being added as you move through the playlist.

LMS version

9.0.4

Plugin version

4.5.4

Your OS (incl. version)

Debian (Docker) - EN - utf8

What web skins / controllers are you seeing the problem with?

Material

Please check whether the problem can be reproduced with other web skins / controllers.

  • I have checked this

What browsers are you seeing the problem on?

Firefox

Environment

Lyrion Music Server Status
Lyrion Music Server Version: 9.0.4 - 1759678152 @ Mon Oct 6 03:47:26 UTC 2025
Hostname: schmalzserver
Server IP Address: 192.168.11.111
Server HTTP Port Number: 9000
Operating system: Debian (Docker) - EN - utf8
Platform Architecture: x86_64-linux
Database Version: SQLite
Total Players Recognized: 7
 
Perl and Module Versions
Perl Version: 5.36.0 - x86_64-linux-gnu-thread-multi
Audio::Scan: 1.10
DBD::SQLite: 1.58 (sqlite 3.22.0)
IO::Socket::SSL: 2.081
Mozilla::CA: Unknown
Net::SSLeay: 1.92 - OpenSSL 3.0.17 1 Jul 2025

Is there relevant log output for this?

  • I have searched the server log

Relevant log output

[25-10-18 14:32:47.2978] Plugins::DynamicPlaylists4::ProtocolHandler::overridePlayback (64) fav list client command = [
  "dynamicplaylist",
  "playlist",
  "play",
  "playlistid:dplccustom_test-dpl",
]
[25-10-18 14:32:47.2979] Plugins::DynamicPlaylists4::Plugin::cliPlayPlaylist (3327) Entering cliPlayPlaylist
[25-10-18 14:32:47.2981] Plugins::DynamicPlaylists4::Plugin::cliPlayPlaylist (3356) params = { playlistid => "dplccustom_test-dpl" }
[25-10-18 14:32:47.2982] Plugins::DynamicPlaylists4::Plugin::cliPlayPlaylist (3359) number of user req params = 0
[25-10-18 14:32:47.2982] Plugins::DynamicPlaylists4::Plugin::cliPlayPlaylist (3371) Got: playlistid = dplccustom_test-dpl
[25-10-18 14:32:47.2983] Plugins::DynamicPlaylists4::Plugin::stateStop (1475) stateStop
[25-10-18 14:32:47.2985] Plugins::DynamicPlaylists4::Plugin::getPlayList (513) Get playlist: dplccustom_test-dpl
[25-10-18 14:32:47.2985] Plugins::DynamicPlaylists4::Plugin::playRandom (818) playRandom called with type dplccustom_test-dpl
[25-10-18 14:32:47.2986] Plugins::DynamicPlaylists4::Plugin::playRandom (821) pluginData type for myPlayer = dplccustom_test-dpl
[25-10-18 14:32:47.2988] Plugins::DynamicPlaylists4::Plugin::clearPlayListHistory (7126) Deleting playlist history for player: myPlayer
[25-10-18 14:32:47.2990] Plugins::DynamicPlaylists4::Plugin::clearCache (7183) Multiple clients: Clearing cache for client: 00:aa:aa:aa:aa:aa:
[25-10-18 14:32:47.2991] Plugins::DynamicPlaylists4::Plugin::getPlayList (513) Get playlist: dplccustom_test-dpl
[25-10-18 14:32:47.2992] Plugins::DynamicPlaylists4::Plugin::playRandom (891) playlistLimitOption = undef
[25-10-18 14:32:47.2993] Plugins::DynamicPlaylists4::Plugin::playRandom (904) requested dpl = dplccustom_test-dpl
[25-10-18 14:32:47.2993] Plugins::DynamicPlaylists4::Plugin::playRandom (905) complete client mixinfo dump = {}
[25-10-18 14:32:47.2994] Plugins::DynamicPlaylists4::Plugin::playRandom (912) Play or DSTM play -- numItems = maxNumberUnplayedTracks = 20
[25-10-18 14:32:47.2995] Plugins::DynamicPlaylists4::Plugin::playRandom (934) 
Current client playlist before adding new tracks:
tracks in total: 1
songs remaining: 0
songIndex: 0
MIN. number of unplayed songs to be added: 5
MAX. number of new unplayed tracks to be added: 20
Actual number of tracks to be added (numItems): 20
[25-10-18 14:32:47.3002] Plugins::DynamicPlaylists4::Plugin::findAndAdd (526) Starting random selection of max. 20 items for type: dplccustom_test-dpl
[25-10-18 14:32:47.3003] Plugins::DynamicPlaylists4::Plugin::getPlayList (513) Get playlist: dplccustom_test-dpl
[25-10-18 14:32:47.3003] Plugins::DynamicPlaylists4::Plugin::findAndAdd (533) is static PL = undef
[25-10-18 14:32:47.3004] Plugins::DynamicPlaylists4::Plugin::findAndAdd (535) playlistTrackOrder = undef
[25-10-18 14:32:47.3005] Plugins::DynamicPlaylists4::Plugin::findAndAdd (543) dplUseCache = 1
[25-10-18 14:32:47.3006] Plugins::DynamicPlaylists4::Plugin::findAndAdd (557) Cache empty. Getting track IDs
[25-10-18 14:32:47.3007] Plugins::DynamicPlaylists4::Plugin::findAndAdd (562) Iteration 1: total trackIDs so far = 0 -- limit = 20 -- offset = 0
[25-10-18 14:32:47.3007] Plugins::DynamicPlaylists4::Plugin::getTrackIDsForPlaylist (1384) Calling: Plugins::DynamicPlaylists4::Plugin with: id = dplccustom_test-dpl, limit = 20, offset = 0
[25-10-18 14:32:47.3008] Plugins::DynamicPlaylists4::Plugin::getTrackIDsForPlaylist (1402) parameterHash = {}
[25-10-18 14:32:47.3009] Plugins::DynamicPlaylists4::Plugin::getTrackIDsForPlaylist (1403) Calling: Plugins::DynamicPlaylists4::Plugin :: getNextDynamicPlaylistTracks
[25-10-18 14:32:47.3010] Plugins::DynamicPlaylists4::Plugin::getNextDynamicPlaylistTracks (6120) Getting tracks for dynamic playlist: 'test-dpl' with ID: test-dpl
[25-10-18 14:32:47.3011] Plugins::DynamicPlaylists4::Plugin::getNextDynamicPlaylistTracks (6121) limit = 20, offset = 0, parameters = {}
[25-10-18 14:32:47.3012] Plugins::DynamicPlaylists4::Plugin::getInternalParameters (6243) playlistLimitOption = undef
[25-10-18 14:32:47.3013] Plugins::DynamicPlaylists4::Plugin::getInternalParameters (6245) playlistVLnames = undef
[25-10-18 14:32:47.3014] Plugins::DynamicPlaylists4::Plugin::getInternalParameters (6247) playlistVLids = undef
[25-10-18 14:32:47.3016] Plugins::DynamicPlaylists4::Plugin::getInternalParameters (6321) pluginData 'cachedArtists' = {}
[25-10-18 14:32:47.3017] Plugins::DynamicPlaylists4::Plugin::getInternalParameters (6322) pluginData 'cachedAlbums' = {}
[25-10-18 14:32:47.3018] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistMinAlbumTracks' with 3
[25-10-18 14:32:47.3019] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistTrackMinDuration' with 90
[25-10-18 14:32:47.3019] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistVariousArtistsString' with NULL
[25-10-18 14:32:47.3020] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistVariousArtistsID' with 8818
[25-10-18 14:32:47.3020] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistExcludedGenres' with 
[25-10-18 14:32:47.3021] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistOffset' with 0
[25-10-18 14:32:47.3022] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistTopRatedMinRating' with 60
[25-10-18 14:32:47.3022] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistLimit' with 20
[25-10-18 14:32:47.3023] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistPlayer' with '00:aa:aa:aa:aa:aa:'
[25-10-18 14:32:47.3023] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistMinArtistTracks' with 3
[25-10-18 14:32:47.3024] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistPeriodPlayedLongAgo' with 2
[25-10-18 14:32:47.3024] Plugins::DynamicPlaylists4::Plugin::replaceParametersInSQL (6367) Replacing 'PlaylistCurrentVirtualLibraryForClient' with ''
[25-10-18 14:32:47.3025] Plugins::DynamicPlaylists4::Plugin::getNextDynamicPlaylistTracks (6127) sqlstatement = select tracks.id, tracks.primary_artist from tracks join genre_track on genre_track.track = tracks.id join genres on genres.id = genre_track.genre and genres.namesearch in ('TESTGENRE') left join dynamicplaylist_history on dynamicplaylist_history.id = tracks.id and dynamicplaylist_history.client = '00:aa:aa:aa:aa:aa:' WHERE tracks.audio = 1 and dynamicplaylist_history.id is null group by tracks.id
[25-10-18 14:32:47.3038] Plugins::DynamicPlaylists4::Plugin::getNextDynamicPlaylistTracks (6180) sql statement 1: exec time = 0.00122904777526855 secs
[25-10-18 14:32:47.3038] Plugins::DynamicPlaylists4::Plugin::getNextDynamicPlaylistTracks (6182) Got 489 track IDs
[25-10-18 14:32:47.3039] Plugins::DynamicPlaylists4::Plugin::getTrackIDsForPlaylist (1409) Found 489 trackIDs for playlist 'test-dpl'
[25-10-18 14:32:47.3039] Plugins::DynamicPlaylists4::Plugin::findAndAdd (573) Iteration 1: returned 489 tracks in 0.00320816040039062 seconds
[25-10-18 14:32:47.3040] Plugins::DynamicPlaylists4::Plugin::findAndAdd (604) Adding new tracks to total tracks vars exec time = 3.09944152832031e-06 secs
[25-10-18 14:32:47.3040] Plugins::DynamicPlaylists4::Plugin::findAndAdd (605) Total track IDs found so far = 489
[25-10-18 14:32:47.3045] Plugins::DynamicPlaylists4::Plugin::findAndAdd (611) Storing complete info hash in cache exec time = 0.000468969345092773 secs
[25-10-18 14:32:47.3046] Plugins::DynamicPlaylists4::Plugin::findAndAdd (637) total tracks in cache = 489
[25-10-18 14:32:47.3047] Plugins::DynamicPlaylists4::Plugin::findAndAdd (638) Total exec time so far = 0.00442314147949219 secs
[25-10-18 14:32:47.3047] Plugins::DynamicPlaylists4::Plugin::findAndAdd (647) Shuffling ALL track IDs for cache
[25-10-18 14:32:47.3048] Plugins::DynamicPlaylists4::Plugin::shuffleIDlist (746) Using normal shuffle mode
[25-10-18 14:32:47.3049] Plugins::DynamicPlaylists4::Plugin::shuffleIDlist (749) Shuffle exec time: 0.000153064727783203 secs
[25-10-18 14:32:47.3050] Plugins::DynamicPlaylists4::Plugin::findAndAdd (659) Limiting the number of new tracks to be added to the specified limit (20)
[25-10-18 14:32:47.3052] Plugins::DynamicPlaylists4::Plugin::findAndAdd (669) Limiting exec time: 0.000124216079711914 secs
[25-10-18 14:32:47.3069] Plugins::DynamicPlaylists4::Plugin::findAndAdd (686) Adding new tracks from cache to DPL history exec time: 0.0016782283782959 secs
[25-10-18 14:32:47.3070] Plugins::DynamicPlaylists4::Plugin::findAndAdd (691) Shuffling limited track ID selection
[25-10-18 14:32:47.3070] Plugins::DynamicPlaylists4::Plugin::shuffleIDlist (746) Using normal shuffle mode
[25-10-18 14:32:47.3071] Plugins::DynamicPlaylists4::Plugin::shuffleIDlist (749) Shuffle exec time: 4.29153442382812e-05 secs
[25-10-18 14:32:47.3071] Plugins::DynamicPlaylists4::Plugin::findAndAdd (709) Playing dplccustom_test-dpl with first trackid 49445
[25-10-18 14:32:47.3556] Plugins::DynamicPlaylists4::Plugin::findAndAdd (717) Adding 19 tracks to the end of the playlist.
[25-10-18 14:32:47.3669] Plugins::DynamicPlaylists4::Plugin::findAndAdd (725) Adding tracks to client playlist exec time: 0.0597159862518311 secs
[25-10-18 14:32:47.3669] Plugins::DynamicPlaylists4::Plugin::findAndAdd (727) Got 20 tracks for dynamic playlist "test-dpl" in 0.0667030811309814 seconds.

[25-10-18 14:32:47.3676] Plugins::DynamicPlaylists4::Plugin::playRandom (969) number of added items = 20
[25-10-18 14:32:47.3677] Plugins::DynamicPlaylists4::Plugin::getMsgDisplayTime (7499) Display time: 2.45s for message 'Starting dynamic playlist:test-dpl'
[25-10-18 14:32:47.3678] Plugins::DynamicPlaylists4::Plugin::getMsgDisplayTime (7499) Display time: 2.52s for message 'Starting dynamic playlist: test-dpl'
[25-10-18 14:32:47.3681] Plugins::DynamicPlaylists4::Plugin::stateNew (1443) stateNew with dpl type 'dplccustom_test-dpl' and params: {}
[25-10-18 14:32:47.3682] Plugins::DynamicPlaylists4::Plugin::cliPlayPlaylist (3391) Exiting cliPlayPlaylist
[25-10-18 14:32:47.3718] Plugins::DynamicPlaylists4::Plugin::commandCallback (7360) received command initiated by /eaa006d6/slim/playerprefs/00:aa:aa:aa:aa:aa:|387||eaa006d6|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0
[25-10-18 14:32:47.3719] Plugins::DynamicPlaylists4::Plugin::commandCallback (7368) Skipping playlist play dynamicplaylist://dplccustom_test-dpl
[25-10-18 14:32:47.3728] Plugins::DynamicPlaylists4::Plugin::commandCallback (7360) received command initiated by /eaa006d6/slim/playerprefs/00:aa:aa:aa:aa:aa:|387||eaa006d6|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0
[25-10-18 14:32:47.3728] Plugins::DynamicPlaylists4::Plugin::commandCallback (7373) received command dynamicplaylist playlist play
[25-10-18 14:32:47.3729] Plugins::DynamicPlaylists4::Plugin::commandCallback (7381) while in mode: dplccustom_test-dpl, from myPlayer
[25-10-18 14:32:47.3774] Plugins::DynamicPlaylists4::Plugin::commandCallback (7360) received command initiated by /eaa006d6/slim/playerprefs/00:aa:aa:aa:aa:aa:|387||eaa006d6|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0
[25-10-18 14:32:47.3774] Plugins::DynamicPlaylists4::Plugin::commandCallback (7373) received command playlist loadtracks
[25-10-18 14:32:47.3775] Plugins::DynamicPlaylists4::Plugin::commandCallback (7381) while in mode: dplccustom_test-dpl, from myPlayer
[25-10-18 14:32:47.3776] Plugins::DynamicPlaylists4::Plugin::commandCallback (7420) cyclic mode ending due to playlist: playlist loadtracks command
[25-10-18 14:32:47.3776] Plugins::DynamicPlaylists4::Plugin::getPlayList (513) Get playlist: disable
[25-10-18 14:32:47.3777] Plugins::DynamicPlaylists4::Plugin::playRandom (818) playRandom called with type disable
[25-10-18 14:32:47.3777] Plugins::DynamicPlaylists4::Plugin::playRandom (821) pluginData type for myPlayer = disable
[25-10-18 14:32:47.3778] Plugins::DynamicPlaylists4::Plugin::playRandom (822) client pref type = dplccustom_test-dpl
[25-10-18 14:32:47.3778] Plugins::DynamicPlaylists4::Plugin::getPlayList (513) Get playlist: dplccustom_test-dpl
[25-10-18 14:32:47.3779] Plugins::DynamicPlaylists4::Plugin::clearPlayListHistory (7126) Deleting playlist history for player: myPlayer
[25-10-18 14:32:47.3781] Plugins::DynamicPlaylists4::Plugin::clearCache (7183) Multiple clients: Clearing cache for client: 00:aa:aa:aa:aa:aa:
[25-10-18 14:32:47.3784] Plugins::DynamicPlaylists4::Plugin::playRandom (891) playlistLimitOption = undef
[25-10-18 14:32:47.3784] Plugins::DynamicPlaylists4::Plugin::playRandom (904) requested dpl = disable
[25-10-18 14:32:47.3786] Plugins::DynamicPlaylists4::Plugin::playRandom (905) complete client mixinfo dump = { offset => 20, type => "dplccustom_test-dpl" }
[25-10-18 14:32:47.3786] Plugins::DynamicPlaylists4::Plugin::playRandom (906) currently active dpl = "dplccustom_test-dpl"
[25-10-18 14:32:47.3787] Plugins::DynamicPlaylists4::Plugin::playRandom (934) 
Current client playlist before adding new tracks:
tracks in total: 20
songs remaining: 19
songIndex: 0
MIN. number of unplayed songs to be added: 5
MAX. number of new unplayed tracks to be added: 20
Actual number of tracks to be added (numItems): 0
[25-10-18 14:32:47.3787] Plugins::DynamicPlaylists4::Plugin::playRandom (1011) cyclic mode ended
[25-10-18 14:32:47.3787] Plugins::DynamicPlaylists4::Plugin::getMsgDisplayTime (7499) Display time: 2.87s for message 'Dynamic PlaylistsDynamic playlist stopped'
[25-10-18 14:32:47.3789] Plugins::DynamicPlaylists4::Plugin::getMsgDisplayTime (7499) Display time: 2s for message 'Dynamic playlist stopped'
[25-10-18 14:32:47.3791] Plugins::DynamicPlaylists4::Plugin::stateStop (1475) stateStop
[25-10-18 14:32:47.3792] Plugins::DynamicPlaylists4::Plugin::stateStop (1475) stateStop
[25-10-18 14:32:47.3793] Plugins::DynamicPlaylists4::Plugin::clearPlayListHistory (7126) Deleting playlist history for player: myPlayer
[25-10-18 14:32:47.3794] Plugins::DynamicPlaylists4::Plugin::clearCache (7183) Multiple clients: Clearing cache for client: 00:aa:aa:aa:aa:aa:
[25-10-18 14:32:47.7928] Plugins::DynamicPlaylists4::Plugin::commandCallback (7360) received command initiated by /eaa006d6/slim/playerprefs/00:aa:aa:aa:aa:aa:|387||eaa006d6|Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0
[25-10-18 14:32:47.7929] Plugins::DynamicPlaylists4::Plugin::commandCallback (7373) received command playlist newsong

Anything else? 📎 Attachments etc.

No response

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions