SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Delete Duplicate Songs auto-restarts in an infinite loop after completion (v12.5 Docker remote)

Environment

  • SongKong v12.5 Mirrored Docker (Premium)
  • QNAP TS-873A, QuTS hero, Container Station
  • Container command -r (remote mode), restart policy unless-stopped
  • Volumes: .../music -> /music, .../songkongConf -> /songkong

Summary
After a Delete Duplicate Songs task completed, SongKong keeps auto-launching a NEW Delete Duplicate task every 1-2.5 minutes, each crashing immediately (no report produced) - an endless loop.

What happened

  1. Ran Delete Duplicate Songs on /music/Unsorted (142,887 songs). Criteria “Sounds the same only”, action “Move duplicate to Duplicates folder”, Preview OFF.
  2. Completed OK: DeleteDuplicatesReport02039, ~9h18m, ~35,245 duplicates moved.
  3. Right after, SongKong began auto-relaunching Delete Duplicate every 1-2.5 min. Container log shows continuous >>>>/deleteduplicates.update_progress. check_progress shows a new “Started at” each time, near-zero progress, no report. Startup each time: songkong:remote dbinit -> songkong:remote started -> immediately Delete Duplicate.

Tried (all ineffective)

  • WebUI Cancel -> a new one starts within ~2 min
  • Restart container -> loop resumes (an active Monitor Watch Folder on /music/Unsorted also auto-resumed)
  • Cancel Watch Folder -> continues
  • Admin > Empty Database (“recreated successfully”) -> still recurs, now Selected Folder defaults to /music
  • No scheduler in Preferences
  • Inspected /songkong: Prefs/*.properties (general.properties has no startup key), Cache (metadata only), Logs - no obvious pending-task file
  • Only effective fix: stop the container

Possibly related to SONGKONG-2974 (v12.5 remote not persisting task settings).

Question: In remote mode, what persists the “task to run/resume on startup”, and how can I safely clear it (which file or DB table under /songkong)?

Music data is intact - duplicates were only moved to /music/rebuild/duplicates, nothing deleted.

Okay, I will test this out myself tommorrow.

Delete Duplicates is not restarting for me in remote mode, but it seems like there is quite lot going on here, when restarting container no tasks should automatically start you would have to configure them in the gui.

You did run delete duplicates on a large folder, I wonder if there was some issue during the run that has contributed to this situation.

Can you run Admin:Create Support Files and did you make any modifications to the container?

Thanks Paul.

No, the container has not been modified - it is the standard SongKong Docker setup (command -r, restart unless-stopped, no memory limit, standard /music + /songkongConf volumes, standard env vars only).

I have run Admin > Create Support Files with this topic’s URL - it is compressing/uploading now and should attach here once done (it is slow as it includes the large reports from the 17k+ song folder).

One more clue: the loop only began right after that big Delete Duplicate run completed. On a fresh container start with no leftover task it does NOT recur - which fits your “something during the run” theory (possibly the GC overhead / memory issue seen in similar QNAP Docker reports).

Thankyou for the support files

You ran Delete Duplicates Report 2038 at May 29, 2026, 2:48:47 AM in Preview Only mode and it took 32 minutes
You ran Delete Duplicates Report 2039 at May 29, 2026, 12:05:55 PM and it took 9 hours 18 minutes 3 seconds

From the logs and the reports I don’t think that Delete Duplicates was actually run again after this point. However the Web UI doesn’t seem to realize this and it still checking for progress

29/05/2026 21.20.58:GMT:DeleteDuplicatesReport:closeReport:WARNING: Delete Duplicates Report is:/songkong/Reports/DeleteDuplicatesReport02039/DeleteDuplicatesReport02039.html
29/05/2026 21.31.44:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.check_progress
29/05/2026 21.31.49:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.31.49:GMT:StartPage:createPage:SEVERE: RecreatingStartPage
29/05/2026 21.31.52:GMT:StartPage:setFolderInputField:SEVERE: -- GET:/music/Unsorted
29/05/2026 21.31.52:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.31.52:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.31.54:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.08:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.check_progress
29/05/2026 21.32.11:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.12:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.14:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.16:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.19:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.21:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.22:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.26:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.26:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.28:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.30:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.33:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.34:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.36:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.38:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress

Then even after restart (so clearly nothing actually still running) it is still checking

30/05/2026 10.02.07:GMT:AbstractAcoustidQuery:performBasicSubmissionQuery:SEVERE: Posting to url:http://api.acoustid.org/v2/user/lookup?format=xml&client=8XaBELgH&user=ZuUUCxLIbS
30/05/2026 10.02.07:GMT:SongKong:setUserAgent:WARNING: end
30/05/2026 10.02.07:GMT:SongKong:writeSystemInfo:WARNING: SongKong 12.5 Mirrored 1199 14/05/2026 using Java 21.0.11 21.0.11+10-LTS 64bit on Linux 5.10.60-qnap amd64 initialized successfully
30/05/2026 10.02.07:GMT:SongKong:writeSystemInfo:WARNING: No of CPUs:8
30/05/2026 10.02.07:GMT:SongKong:writeSystemInfo:WARNING: Docker Mode Enabled
30/05/2026 10.02.07:GMT:SongKong:writeSystemInfo:WARNING: SongKong has been configured with minimum heap memory of 1,024 mb, maximum heap memory of 38,592 mb and maximum permanent memory of -32 mb
30/05/2026 10.02.07:GMT:SongKong:writeSystemInfo:WARNING: Total Computer Memory is 64,275 mb
30/05/2026 10.02.07:GMT:StartPage:createPage:SEVERE: RecreatingStartPage
30/05/2026 10.02.10:GMT:StartPage:setFolderInputField:SEVERE: -- GET:/music/Unsorted
30/05/2026 10.02.18:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
30/05/2026 10.03.18:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
30/05/2026 10.04.18:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
30/05/2026 10.05.18:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
30/05/2026 10.06.18:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.20.58:GMT:AbstractReport:outputFailedToLoadSongs:WARNING: Report 2039:end
29/05/2026 21.20.58:GMT:DeleteDuplicatesReport:closeReport:WARNING: Delete Duplicates Report is:/songkong/Reports/DeleteDuplicatesReport02039/DeleteDuplicatesReport02039.html
29/05/2026 21.31.44:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.check_progress
29/05/2026 21.31.49:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.31.49:GMT:StartPage:createPage:SEVERE: RecreatingStartPage
29/05/2026 21.31.52:GMT:StartPage:setFolderInputField:SEVERE: -- GET:/music/Unsorted
29/05/2026 21.31.52:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.31.52:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.31.54:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.08:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.check_progress
29/05/2026 21.32.11:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.12:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.14:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.16:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress
29/05/2026 21.32.19:GMT:CmdRemote:lambda$start$302:SEVERE: >>>>>/deleteduplicates.update_progress

So the issue seems to be that something is not clearing up properly, although I cannot currently see why this is occurring. I assume from what you said you no longer have problem?

Thanks Paul - your diagnosis matches exactly what I see: nothing actually runs in the backend (no new report is ever produced, files are untouched), it is purely the Web UI stuck checking progress.

But to be clear, the problem is NOT resolved. Whenever the container is running, the Web UI still cycles about every minute - I just checked and the “Started at” time went from 3:14:26 PM to 3:15:31 PM. It recurs on every container start, even after Empty Database. The only thing that stops it is stopping the container completely.

So my question still stands: how can I clear this stuck UI/task state so SongKong stops thinking a Delete Duplicates task is running? Is there a specific file or DB entry under /songkong I can safely delete to reset it?

If you stop and then restart Container does it start again or not?

It asychronously checks the progress via the checkprogress() javascript function. But the Started at part of the page is not updated by checkprogress()

So it seems the page is being continually reloaded, rather than just asynchonously updating the progress bars part of the page.

I do have this old issue that I didn’t really understand and wasn’t sure if it was still an issue, sounds like it could be connected https://jthink.atlassian.net/browse/SONGKONG-2031

Thanks Paul - to answer your question: yes, stopping and restarting the container DOES start it again. On every container start the Web UI immediately begins the checkprogress() cycle (the “Started at” time updates every minute), even after an Empty Database. Only fully stopping the container avoids it. And yes, SONGKONG-2031 does sound like the same Remote-mode progress-monitor behaviour.

Two questions:

  1. Since nothing is actually running in the backend - is it safe for me to just ignore this stuck progress page and carry on running other tasks (e.g. Fix Songs / Rename Files to move my tagged folders into the main library)? Or will this stuck state block new tasks with an “a task is already running” error?

  2. If there is a way to clear it - a specific file or DB entry under /songkong I can delete to reset the Web UI state - that would be ideal.

Thanks for looking into this.

To answer 1 yes I think so and that may resolve it, I suggest you just run a Status Report and see what happens.