Bug - Fixed Build 25813 breaks all scripts

erct657

New 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)
 

fronobulax

Developer
Staff member
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.
 

gausie

D̰͕̝͚̤̥̙̐̇̑͗̒e͍͔͎͈͔ͥ̉̔̅́̈l̠̪̜͓̲ͧ̍̈́͛v̻̾ͤe͗̃ͥ̐̊ͬp̔͒ͪ
Staff member
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)
 

BigVinnie

New member
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)
 

fronobulax

Developer
Staff member
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.
 

gausie

D̰͕̝͚̤̥̙̐̇̑͗̒e͍͔͎͈͔ͥ̉̔̅́̈l̠̪̜͓̲ͧ̍̈́͛v̻̾ͤe͗̃ͥ̐̊ͬp̔͒ͪ
Staff member
Fix merged!
 

Veracity

Developer
Staff member
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)
 

Veracity

Developer
Staff member
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)
 

MCroft

Developer
Staff member
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.
 

heeheehee

Developer
Staff member
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.
 
Top