Save error UnixPath.normalizeAndCheck() with some files
Description
Activity
Fixed.
Dont fully understand this, but we already had code for ensuring newFilename was set if null, but we didnt set if just blank so going to change check from blank to null
Found that
a>NewFilename was set to null, that was causing the issue
b> The user wasnt actually trying to rename anything
c> The problem folder was 7 subfolders of aboxset, 2 subfolders were okay because those 2 were matched to Discogs and the others were not. I dont know how this is relevent but maybe.
Need extra debugging to identify file
java.lang.NullPointerException
at java.base/sun.nio.fs.UnixPath.normalizeAndCheck(UnixPath.java:75)
at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
at java.base/java.nio.file.Path.of(Path.java:147)
at java.base/java.nio.file.Paths.get(Paths.java:69)
at com.jthink.songkong.analyse.analyser.SongSaver.saveSongsToFile(SongSaver.java:1440)
at com.jthink.songkong.analyse.analyser.SongSaver.saveChanges(SongSaver.java:269)
at com.jthink.songkong.analyse.analyser.SongSaver.call(SongSaver.java:236)
at com.jthink.songkong.analyse.analyser.SongSaver.call(SongSaver.java:75)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.jthink.songkong.analyse.analyser.MainAnalyserService$EnsureIncreaseCountIfRunOnCallingThread.rejectedExecution(MainAnalyserService.java:102)
at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at com.jthink.songkong.analyse.analyser.MainAnalyserService.submit(MainAnalyserService.java:193)
at com.jthink.songkong.analyse.analyser.DiscogsMultiFolderSongGroupMatcher.call(DiscogsMultiFolderSongGroupMatcher.java:61)
at com.jthink.songkong.analyse.analyser.DiscogsMultiFolderSongGroupMatcher.call(DiscogsMultiFolderSongGroupMatcher.java:23)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.jthink.songkong.analyse.analyser.MainAnalyserService$EnsureIncreaseCountIfRunOnCallingThread.rejectedExecution(MainAnalyserService.java:102)
at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at com.jthink.songkong.analyse.analyser.MainAnalyserService.submit(MainAnalyserService.java:193)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongGroupMatcher.processMultiFolderGroupingInDiscogs(MusicBrainzSongGroupMatcher.java:68)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongGroupMatcher1.doTask(MusicBrainzSongGroupMatcher1.java:444)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongGroupMatcher.call(MusicBrainzSongGroupMatcher.java:478)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongGroupMatcher1.call(MusicBrainzSongGroupMatcher1.java:83)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongGroupMatcher1.call(MusicBrainzSongGroupMatcher1.java:36)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)