Bug - Fixed Build 25813 breaks all scripts

erct657

Member
Exactly as the title says. Below is my error log. 25812 runs scripts fine. 25813 no script (relay nor from gCLI) run. They always threw Unexpected error, debug log printed. Below is one of the log entries.

Code:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
             KoLmafia r25813, Windows 10, Java 16.0.2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Please note: do not post this log in the KoLmafia thread of KoL's
 Gameplay-Discussion forum. If you would like the KoLmafia dev team
 to look at it, please write a bug report at kolmafia.us. Include
 specific information about what you were doing when you made this
 and include this log as an attachment.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Timestamp: Wed Oct 27 07:26:35 EDT 2021
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 User: erct657
 Current run: 8541
 MRU Script: Unknown
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




Unexpected error, debug log printed.
class java.lang.IllegalArgumentException: null
java.lang.IllegalArgumentException
    at net.sourceforge.kolmafia.textui.Line$Token.<init>(Line.java:143)
    at net.sourceforge.kolmafia.textui.Line$Comment.<init>(Line.java:218)
    at net.sourceforge.kolmafia.textui.Line.makeComment(Line.java:105)
    at net.sourceforge.kolmafia.textui.Parser.currentToken(Parser.java:3619)
    at net.sourceforge.kolmafia.textui.Parser.parseDirective(Parser.java:3501)
    at net.sourceforge.kolmafia.textui.Parser.parseScriptName(Parser.java:3564)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:400)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
    at net.sourceforge.kolmafia.textui.Parser.importFile(Parser.java:335)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:405)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
    at net.sourceforge.kolmafia.textui.Parser.importFile(Parser.java:335)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:405)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
    at net.sourceforge.kolmafia.textui.Parser.parse(Parser.java:168)
    at net.sourceforge.kolmafia.textui.AshRuntime.validate(AshRuntime.java:133)
    at net.sourceforge.kolmafia.KoLmafiaASH.getInterpreter(KoLmafiaASH.java:220)
    at net.sourceforge.kolmafia.KoLmafiaASH.getInterpreter(KoLmafiaASH.java:176)
    at net.sourceforge.kolmafia.session.SpadingManager.invokeSpadingScript(SpadingManager.java:132)
    at net.sourceforge.kolmafia.session.SpadingManager.processPlace(SpadingManager.java:111)
    at net.sourceforge.kolmafia.request.PlaceRequest.parseResponse(PlaceRequest.java:329)
    at net.sourceforge.kolmafia.request.PlaceRequest.processResults(PlaceRequest.java:61)
    at net.sourceforge.kolmafia.request.GenericRequest.processResponse(GenericRequest.java:2237)
    at net.sourceforge.kolmafia.request.GenericRequest.retrieveServerReply(GenericRequest.java:2152)
    at net.sourceforge.kolmafia.request.GenericRequest.retrieveServerReply(GenericRequest.java:1770)
    at net.sourceforge.kolmafia.request.GenericRequest.externalExecute(GenericRequest.java:1378)
    at net.sourceforge.kolmafia.request.GenericRequest.execute(GenericRequest.java:1365)
    at net.sourceforge.kolmafia.request.GenericRequest.run(GenericRequest.java:1120)
    at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:206)
    at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:171)
    at net.sourceforge.kolmafia.request.FloristRequest.run(FloristRequest.java:191)
    at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:206)
    at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:171)
    at net.sourceforge.kolmafia.KoLmafia.refreshSessionData(KoLmafia.java:872)
    at net.sourceforge.kolmafia.KoLmafia.refreshSession(KoLmafia.java:655)
    at net.sourceforge.kolmafia.session.LoginManager.initialize(LoginManager.java:196)
    at net.sourceforge.kolmafia.session.LoginManager.doLogin(LoginManager.java:87)
    at net.sourceforge.kolmafia.session.LoginManager.login(LoginManager.java:39)
    at net.sourceforge.kolmafia.request.LoginRequest.processLoginRequest(LoginRequest.java:322)
    at net.sourceforge.kolmafia.request.GenericRequest.handleServerRedirect(GenericRequest.java:1876)
    at net.sourceforge.kolmafia.request.GenericRequest.retrieveServerReply(GenericRequest.java:1778)
    at net.sourceforge.kolmafia.request.GenericRequest.externalExecute(GenericRequest.java:1378)
    at net.sourceforge.kolmafia.request.GenericRequest.execute(GenericRequest.java:1365)
    at net.sourceforge.kolmafia.request.GenericRequest.run(GenericRequest.java:1120)
    at net.sourceforge.kolmafia.request.LoginRequest.run(LoginRequest.java:202)
    at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:206)
    at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:171)
    at net.sourceforge.kolmafia.swingui.LoginFrame$LoginPanel.doLogin(LoginFrame.java:266)
    at net.sourceforge.kolmafia.swingui.LoginFrame$LoginPanel.actionConfirmed(LoginFrame.java:230)
    at net.sourceforge.kolmafia.swingui.panel.GenericPanel$ConfirmedListener.execute(GenericPanel.java:503)
    at net.sourceforge.kolmafia.swingui.listener.ThreadedListener.run(ThreadedListener.java:162)
    at net.sourceforge.kolmafia.RequestThread$SequencedRunnable.run(RequestThread.java:313)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:831)
 
Well I'm running r25813 and all my scripts run fine so your title is something of an overreach :-)

But it does look like something was missed in a recent change so stand by and thank you for reporting this.

invokeSpadingScript may be the place to start.
 
It doesn't break all scripts, just ones with a blank comment in them (which zlib has!)

PR that fixes it is up (and a regression test)
 
It might not be all scripts, but I can confirm that it breaks Auto_mushroom, SmartStasis, and WHAM:
Unexpected error, debug log printed.
class java.lang.IllegalArgumentException: null
java.lang.IllegalArgumentException
at net.sourceforge.kolmafia.textui.Line$Token.<init>(Line.java:143)
at net.sourceforge.kolmafia.textui.Line$Comment.<init>(Line.java:218)
at net.sourceforge.kolmafia.textui.Line.makeComment(Line.java:105)
at net.sourceforge.kolmafia.textui.Parser.currentToken(Parser.java:3619)
at net.sourceforge.kolmafia.textui.Parser.parseDirective(Parser.java:3501)
at net.sourceforge.kolmafia.textui.Parser.parseScriptName(Parser.java:3564)
at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:400)
at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
at net.sourceforge.kolmafia.textui.Parser.importFile(Parser.java:335)
at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:405)
at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
at net.sourceforge.kolmafia.textui.Parser.parse(Parser.java:168)
at net.sourceforge.kolmafia.textui.AshRuntime.validate(AshRuntime.java:133)
at net.sourceforge.kolmafia.KoLmafiaASH.getInterpreter(KoLmafiaASH.java:220)
at net.sourceforge.kolmafia.textui.command.CallScriptCommand.call(CallScriptCommand.java:141)
at net.sourceforge.kolmafia.textui.command.CallScriptCommand.run(CallScriptCommand.java:34)
at net.sourceforge.kolmafia.KoLmafiaCLI.doExecuteCommand(KoLmafiaCLI.java:458)
at net.sourceforge.kolmafia.KoLmafiaCLI.executeCommand(KoLmafiaCLI.java:419)
at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:338)
at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:225)
at net.sourceforge.kolmafia.session.LoginManager.doLogin(LoginManager.java:128)
at net.sourceforge.kolmafia.session.LoginManager.login(LoginManager.java:39)
at net.sourceforge.kolmafia.request.LoginRequest.processLoginRequest(LoginRequest.java:322)
at net.sourceforge.kolmafia.request.GenericRequest.handleServerRedirect(GenericRequest.java:1876)
at net.sourceforge.kolmafia.request.GenericRequest.retrieveServerReply(GenericRequest.java:1778)
at net.sourceforge.kolmafia.request.GenericRequest.externalExecute(GenericRequest.java:1378)
at net.sourceforge.kolmafia.request.GenericRequest.execute(GenericRequest.java:1365)
at net.sourceforge.kolmafia.request.GenericRequest.run(GenericRequest.java:1120)
at net.sourceforge.kolmafia.request.LoginRequest.run(LoginRequest.java:202)
at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:206)
at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:171)
at net.sourceforge.kolmafia.swingui.LoginFrame$LoginPanel.doLogin(LoginFrame.java:266)
at net.sourceforge.kolmafia.swingui.LoginFrame$LoginPanel.actionConfirmed(LoginFrame.java:230)
at net.sourceforge.kolmafia.swingui.panel.GenericPanel$ConfirmedListener.execute(GenericPanel.java:503)
at net.sourceforge.kolmafia.swingui.listener.ThreadedListener.run(ThreadedListener.java:162)
at net.sourceforge.kolmafia.RequestThread$SequencedRunnable.run(RequestThread.java:313)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
 
Weird.

Auto_mushroom, SmartStasis, zlib and several others worked for me.

There is a legitimate problem that is being fixed but this makes me wonder if somehow version labeling is broken. Separate thread.
 
Code:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                KoLmafia r25815, Mac OS X, Java 17
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Unexpected error, debug log printed.
class java.lang.IllegalArgumentException: null
java.lang.IllegalArgumentException
    at net.sourceforge.kolmafia.textui.Line$Token.<init>(Line.java:148)
    at net.sourceforge.kolmafia.textui.Line$Token.<init>(Line.java:142)
    at net.sourceforge.kolmafia.textui.Line.makeToken(Line.java:99)
    at net.sourceforge.kolmafia.textui.Parser.parsePluralConstant(Parser.java:3289)
    at net.sourceforge.kolmafia.textui.Parser.parseTypedConstant(Parser.java:3187)
    at net.sourceforge.kolmafia.textui.Parser.parseEvaluable(Parser.java:2783)
    at net.sourceforge.kolmafia.textui.Parser.parseExpression(Parser.java:2643)
    at net.sourceforge.kolmafia.textui.Parser.parseExpression(Parser.java:2584)
    at net.sourceforge.kolmafia.textui.Parser.parseInitialization(Parser.java:782)
    at net.sourceforge.kolmafia.textui.Parser.parseVariables(Parser.java:722)
    at net.sourceforge.kolmafia.textui.Parser.parseCommandOrDeclaration(Parser.java:367)
    at net.sourceforge.kolmafia.textui.Parser.parseStatic(Parser.java:1808)
    at net.sourceforge.kolmafia.textui.Parser.parseCommand(Parser.java:968)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:424)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
    at net.sourceforge.kolmafia.textui.Parser.importFile(Parser.java:335)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:405)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
    at net.sourceforge.kolmafia.textui.Parser.parse(Parser.java:168)
    at net.sourceforge.kolmafia.textui.AshRuntime.validate(AshRuntime.java:133)
    at net.sourceforge.kolmafia.KoLmafiaASH.getInterpreter(KoLmafiaASH.java:220)
    at net.sourceforge.kolmafia.textui.command.CallScriptCommand.call(CallScriptCommand.java:141)
    at net.sourceforge.kolmafia.textui.command.CallScriptCommand.run(CallScriptCommand.java:34)
    at net.sourceforge.kolmafia.KoLmafiaCLI.doExecuteCommand(KoLmafiaCLI.java:458)
    at net.sourceforge.kolmafia.KoLmafiaCLI.executeCommand(KoLmafiaCLI.java:419)
    at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:338)
    at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:225)
    at net.sourceforge.kolmafia.swingui.button.LoadScriptButton$LoadScriptRunnable.run(LoadScriptButton.java:25)
    at net.sourceforge.kolmafia.RequestThread$SequencedRunnable.run(RequestThread.java:313)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
 
badcomment.ash:

Code:
boolean [item] items = $items[
// This is a comment
    seal tooth,    // a seal tooth
    snorkel     // not a seal tooth
];

executing:

Code:
> badcomment.ash

Unexpected error, debug log printed.

exception:

Code:
Unexpected error, debug log printed.
class java.lang.IllegalArgumentException: null
java.lang.IllegalArgumentException
    at net.sourceforge.kolmafia.textui.Line$Token.<init>(Line.java:148)
    at net.sourceforge.kolmafia.textui.Line$Token.<init>(Line.java:142)
    at net.sourceforge.kolmafia.textui.Line.makeToken(Line.java:99)
    at net.sourceforge.kolmafia.textui.Parser.parsePluralConstant(Parser.java:3289)
    at net.sourceforge.kolmafia.textui.Parser.parseTypedConstant(Parser.java:3187)
    at net.sourceforge.kolmafia.textui.Parser.parseEvaluable(Parser.java:2783)
    at net.sourceforge.kolmafia.textui.Parser.parseExpression(Parser.java:2643)
    at net.sourceforge.kolmafia.textui.Parser.parseExpression(Parser.java:2584)
    at net.sourceforge.kolmafia.textui.Parser.parseInitialization(Parser.java:782)
    at net.sourceforge.kolmafia.textui.Parser.parseVariables(Parser.java:722)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:453)
    at net.sourceforge.kolmafia.textui.Parser.parseScope(Parser.java:389)
    at net.sourceforge.kolmafia.textui.Parser.parse(Parser.java:168)
    at net.sourceforge.kolmafia.textui.AshRuntime.validate(AshRuntime.java:133)
    at net.sourceforge.kolmafia.KoLmafiaASH.getInterpreter(KoLmafiaASH.java:220)
    at net.sourceforge.kolmafia.textui.command.CallScriptCommand.call(CallScriptCommand.java:141)
    at net.sourceforge.kolmafia.KoLmafiaCLI.doExecuteCommand(KoLmafiaCLI.java:468)
    at net.sourceforge.kolmafia.KoLmafiaCLI.executeCommand(KoLmafiaCLI.java:419)
    at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:338)
    at net.sourceforge.kolmafia.KoLmafiaCLI.executeLine(KoLmafiaCLI.java:225)
    at net.sourceforge.kolmafia.swingui.CommandDisplayFrame$CommandQueueHandler.handleQueue(CommandDisplayFrame.java:139)
    at net.sourceforge.kolmafia.swingui.CommandDisplayFrame$CommandQueueHandler.run(CommandDisplayFrame.java:116)
 
none of the fixes seem to actually fix the scripts. Can we roll back and test on a branch until it's validated? We don't need to push this to main unless it working.
 
none of the fixes seem to actually fix the scripts. Can we roll back and test on a branch until it's validated? We don't need to push this to main unless it working.
 
Back
Top