SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

SongKong Exiting because of error

Hi @paultaylor,

I am trying to start a delete duplicates task using the command line, and here is what happens :

the command I run :

docker run --rm --name songkong_rename_01_1000 -v /mnt/cache/appdata/songkong:/songkong -v /mnt/user/MURRAY/Music:/music songkong/songkong -f /music/Music_dump/01-1000

the output :

debuglogfile is:/songkong/Logs/songkong_debug%u-%g.log
userlogfile is:/songkong/Logs/songkong_user%u-%g.log
SongKong:start
null
Processing:0
Songs loaded:0
Songs renamed:0
Completed:0
Errors and Warnings:0
Reports:0
SongKong Exiting because of error

no report gets created.

log output :

18/09/2023 09.16.06:GMT:SongKong:cmdlineOrRemoteModeStart:WARNING: start
18/09/2023 09.16.06:GMT:SongKong:cmdCheckDatabase:WARNING: start
18/09/2023 09.16.06:GMT:SongKong:cmdCheckDatabase:WARNING: deletingDbLock
18/09/2023 09.16.06:GMT:SongKong:cmdCheckDatabase:WARNING: end
18/09/2023 09.16.07:GMT:SongKongDatabase:checkDatabaseCmdLine:WARNING: Setting Db Folder:/songkong/Prefs/Database
18/09/2023 09.16.07:GMT:HibernateUtil:createFactory:SEVERE: ----Initilizing Hibernate Session factory
18/09/2023 09.16.07:GMT:INFO: Initializing c3p0-0.9.2.1 [built 20-March-2013 10:47:27 +0000; debug? true; trace: 10]
18/09/2023 09.16.08:GMT:INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@19521f5f [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@38f2bc5e [ acquireIncrement -> 3, acquireRetryAttempts -> 10, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> true, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1bqq1hway1ahv77e7z67w8|6d025197, idleConnectionTestPeriod -> 3000, initialPoolSize -> 1, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 3600, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 200, maxStatements -> 3000, maxStatementsPerConnection -> 50, minPoolSize -> 1, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@af7a481c [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1bqq1hway1ahv77e7z67w8|3fc79729, jdbcUrl -> jdbc:h2:async:/songkong/Prefs/Database/Database;FILE_LOCK=SOCKET;MVCC=TRUE;DB_CLOSE_ON_EXIT=FALSE;CACHE_SIZE=50000;, properties -> {password=******, user=******} ], preferredTestQuery -> null, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 3300, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1bqq1hway1ahv77e7z67w8|149dd36b, numHelperThreads -> 3 ]
18/09/2023 09.16.09:GMT:SongKongDatabase:checkDatabaseCmdLine:SEVERE: Accessed Database okay
18/09/2023 09.16.09:GMT:SongKong:checkCache:WARNING: Checking Cache:/songkong/Prefs/Database/EhCache
18/09/2023 09.16.09:GMT:SongKong:checkCache:WARNING: Deleting Cache Lock:true
18/09/2023 09.16.10:GMT:SongKong:checkCache:WARNING: Checked Cache:/songkong/Prefs/Database/EhCache
18/09/2023 09.16.10:GMT:SongKong:setUserAgent:WARNING: start
18/09/2023 09.16.10:GMT:AbstractAcoustidQuery:performBasicSubmissionQuery:SEVERE: Posting to url:http://api.acoustid.org/v2/user/lookup?format=xml&client=8XaBELgH&user=lj5NgggIwD
18/09/2023 09.16.10:GMT:AbstractAcoustidQuery:analyseErrors:WARNING: AcoustidError<?xml version='1.0' encoding='UTF-8'?>
<response><error><code>6</code><message>invalid user API key ("User with the API key does not exist")</message></error><status>error</status></response>

18/09/2023 09.16.10:GMT:AbstractAcoustidQuery:doPerformQuery:SEVERE: Acoustid Exception looking up from AcoustId:<?xml version='1.0' encoding='UTF-8'?>
<response><error><code>6</code><message>invalid user API key ("User with the API key does not exist")</message></error><status>error</status></response>

com.jthink.acoustid.exception.AcoustidException: <?xml version='1.0' encoding='UTF-8'?>
<response><error><code>6</code><message>invalid user API key ("User with the API key does not exist")</message></error><status>error</status></response>

	at com.jthink.acoustid.query.AbstractAcoustidQuery.doPerformQuery(AbstractAcoustidQuery.java:299)
	at com.jthink.acoustid.query.AbstractAcoustidQuery.performQuery(AbstractAcoustidQuery.java:227)
	at com.jthink.acoustid.query.AcoustIdQuery.lookupUser(AcoustIdQuery.java:157)
	at com.jthink.songkong.analyse.acoustid.AcoustId.isValidAcoustidUser(AcoustId.java:738)
	at com.jthink.songkong.cmdline.SongKong.setUserAgent(SongKong.java:688)
	at com.jthink.songkong.cmdline.SongKong.cmdlineOrRemoteModeStart(SongKong.java:1069)
	at com.jthink.songkong.cmdline.SongKong.finish(SongKong.java:1289)
	at com.jthink.songkong.cmdline.SongKong.main(SongKong.java:1317)
18/09/2023 09.16.10:GMT:AcoustId:isValidAcoustidUser:SEVERE: Problem connecting to AcoustId, assume current User okay
18/09/2023 09.16.10:GMT:SongKong:setUserAgent:WARNING: end
18/09/2023 09.16.11:GMT:CmdRenameFiles:start:SEVERE: null
java.lang.NullPointerException
	at com.jthink.songkong.analyse.toplevelanalyzer.controller.AbstractModifySongsController.checkPreviewStatus(AbstractModifySongsController.java:84)
	at com.jthink.songkong.cmdline.CmdRenameFiles.start(CmdRenameFiles.java:50)
	at com.jthink.songkong.cmdline.CmdLineDecoder.start(CmdLineDecoder.java:174)
	at com.jthink.songkong.cmdline.SongKong.cmdlineOrRemoteModeStart(SongKong.java:1071)
	at com.jthink.songkong.cmdline.SongKong.finish(SongKong.java:1289)
	at com.jthink.songkong.cmdline.SongKong.main(SongKong.java:1317)

So, it looks like the fact accousticID fails, make the whole rename task to fail. I’ve tested fix songs and remove duplicates, and these tasks finished without any issue.

No, the Acoustid error is irrelevant. The issue is the 2nd stacktrace

java.lang.NullPointerException
	at com.jthink.songkong.analyse.toplevelanalyzer.controller.AbstractModifySongsController.checkPreviewStatus(AbstractModifySongsController.java:84)
	at com.jthink.songkong.cmdline.CmdRenameFiles.start(CmdRenameFiles.java:50)
	at com.jthink.songkong.cmdline.CmdLineDecoder.start(CmdLineDecoder.java:174)
	at com.jthink.songkong.cmdline.SongKong.cmdlineOrRemoteModeStart(SongKong.java:1071)
	at com.jthink.songkong.cmdline.SongKong.finish(SongKong.java:1289)
	at com.jthink.songkong.cmdline.SongKong.main(SongKong.java:1317)

The problem is unlike the other tasks when run Rename Files from command line there is a line missing in code to ensure that Rename Files has a default profile set. I will fix code - https://jthink.atlassian.net/browse/SONGKONG-2495 but I think you may be able to get round it by starting rename once from gui, cancelling and then trying command line.

unfortunately not, I did run a rename task manually, till the end. rename definitely fails from starting when called from the command line.

Okay, sorry not in position to do a fix release just now, you’ll have to use the webui to run Rename Files for now.