SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Undo changes

Support files sent…

Okay there is a problem, it recognises there are multiple revisions of files but then hits an error when try to go back to the oldest revision

08/06/2026 00.04.13:SAST:UndoChanges:undoChanges:WARNING: --Undo Changes Recno:108900:108900:/Volumes/MUSIC2/Pink Floyd/Pink Floyd - 1978 - Under Construction - Building the Wall/01 - The Show, Part I.flac:Revisions:4
08/06/2026 00.04.13:SAST:UndoChanges:saveOldestRevisionOfSongToFile:SEVERE: Cannot invoke "String.equals(Object)" because the return value of "com.jthink.songlayer.SongFile.getFilename()" is null
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "com.jthink.songlayer.SongFile.getFilename()" is null
	at com.jthink.songkong.analyse.analyser.task.UndoChanges.saveOldestRevisionOfSongToFile(UndoChanges.java:265)
	at com.jthink.songkong.analyse.analyser.task.UndoChanges.undoChanges(UndoChanges.java:97)
	at com.jthink.songkong.analyse.analyser.task.UndoChanges.call(UndoChanges.java:59)
	at com.jthink.songkong.analyse.analyser.task.UndoChanges.call(UndoChanges.java:43)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

I am not sure why this is happening, but looking into it now and raised issue

If the idea is just to rename the files back to how they were but the metadata of the files is okay, the workaround would be to run Rename Files with amended rename mask, and i can help with getting the rename mask correct if that is an issue

I don’t think these are relevant to this issue but it is worth noting a few restrictions to using Undo Changes. The feature is intended for fairly short term reversal of changes, e.g made some changes and then a few days later notice a couple of problems and want to undo changes. SongKong usually does new releases every month and on upgrade database is always recreated meaning that Undo Changes will not work for changes made before upgrade.

There is a bug in Undo Changes that means if you set Find songs to that were originally in the selected locations and you have renamed/moved the file more than once Undo Changes will not work.

Also we now have a potentially better/alternative way of working:

  • Run task Preview Only
  • Check Results
  • If okay then run Apply Preview task