Running "run test in current file" fails after doing any change in the file
Donach opened this issue · comments
Describe the bug
As title states, its impossible to change a file and run the test more than once in a row, as it results in error (see attached picture).
This is the error from console:
Caused by: java.lang.RuntimeException: There was a Wurst bug in the translation of stmtif (Optional[D:\TEVE\Repositories\tever_main\wurst\CreepBundle\UnitThreatGeneral.wurst]:Optional[84]): null
Please open a ticket with source code and the error log.
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateProg(ImTranslator.java:170)
at de.peeeq.wurstio.languageserver.requests.RunTests.translateProg(RunTests.java:315)
at de.peeeq.wurstio.languageserver.requests.RunTests.execute(RunTests.java:116)
at de.peeeq.wurstio.languageserver.requests.UserRequest.run(UserRequest.java:31)
This file is rather unrelated, as I'm running the test in file called "TooltipGenerator.wurst"
Workaround: Reload VSCode and run the test (works one-time only, once I do any change, error pops up again and tests do not run)
Full log:
java.lang.NullPointerException
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.getNameFor(ImTranslator.java:888)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.getNameFor(ImTranslator.java:873)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.getFuncFor(ImTranslator.java:677)
at de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translateFunctionCall(ExprTranslation.java:545)
at de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translateIntern(ExprTranslation.java:443)
at de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translate(ExprTranslation.java:81)
at de.peeeq.wurstscript.ast.ExprMemberMethodDotImpl.imTranslateExpr(ExprMemberMethodDotImpl.java:617)
at de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate(StmtTranslation.java:264)
at de.peeeq.wurstscript.ast.StmtIfImpl.imTranslateStmt(StmtIfImpl.java:357)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateStatements(ImTranslator.java:1009)
at de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate(StmtTranslation.java:264)
at de.peeeq.wurstscript.ast.StmtIfImpl.imTranslateStmt(StmtIfImpl.java:357)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateStatements(ImTranslator.java:1009)
at de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate(StmtTranslation.java:264)
at de.peeeq.wurstscript.ast.StmtIfImpl.imTranslateStmt(StmtIfImpl.java:357)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateStatements(ImTranslator.java:1009)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:83)
at de.peeeq.wurstscript.ast.FuncDefImpl.imTranslateEntity(FuncDefImpl.java:644)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:60)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateCompilationUnit(ImTranslator.java:340)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateProg(ImTranslator.java:146)
at de.peeeq.wurstio.languageserver.requests.RunTests.translateProg(RunTests.java:315)
at de.peeeq.wurstio.languageserver.requests.RunTests.execute(RunTests.java:116)
at de.peeeq.wurstio.languageserver.requests.UserRequest.run(UserRequest.java:31)
at de.peeeq.wurstio.languageserver.LanguageWorker.lambda$getNextWorkItem$1(LanguageWorker.java:160)
at de.peeeq.wurstio.languageserver.LanguageWorker$Workitem.run(LanguageWorker.java:28)
at de.peeeq.wurstio.languageserver.LanguageWorker.run(LanguageWorker.java:135)
at java.lang.Thread.run(Unknown Source)
Aug 23, 2021 1:05:04 AM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
SEVERE: Internal error: java.lang.RuntimeException: There was a Wurst bug in the translation of stmtif (Optional[D:\TEVE\Repositories\tever_main\wurst\CreepBundle\UnitThreatGeneral.wurst]:Optional[84]): null
Please open a ticket with source code and the error log.
java.util.concurrent.CompletionException: java.lang.RuntimeException: There was a Wurst bug in the translation of stmtif (Optional[D:\TEVE\Repositories\tever_main\wurst\CreepBundle\UnitThreatGeneral.wurst]:Optional[84]): null
Please open a ticket with source code and the error log.
at java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
at java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)
at java.util.concurrent.CompletableFuture.uniAccept(Unknown Source)
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(Unknown Source)
at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
at de.peeeq.wurstio.languageserver.requests.UserRequest.handleException(UserRequest.java:40)
at de.peeeq.wurstio.languageserver.LanguageWorker.lambda$handle$3(LanguageWorker.java:264)
at java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)
at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
at de.peeeq.wurstio.languageserver.requests.UserRequest.run(UserRequest.java:34)
at de.peeeq.wurstio.languageserver.LanguageWorker.lambda$getNextWorkItem$1(LanguageWorker.java:160)
at de.peeeq.wurstio.languageserver.LanguageWorker$Workitem.run(LanguageWorker.java:28)
at de.peeeq.wurstio.languageserver.LanguageWorker.run(LanguageWorker.java:135)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: There was a Wurst bug in the translation of stmtif (Optional[D:\TEVE\Repositories\tever_main\wurst\CreepBundle\UnitThreatGeneral.wurst]:Optional[84]): null
Please open a ticket with source code and the error log.
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateProg(ImTranslator.java:170)
at de.peeeq.wurstio.languageserver.requests.RunTests.translateProg(RunTests.java:315)
at de.peeeq.wurstio.languageserver.requests.RunTests.execute(RunTests.java:116)
at de.peeeq.wurstio.languageserver.requests.UserRequest.run(UserRequest.java:31)
... 4 more
Caused by: java.lang.NullPointerException
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.getNameFor(ImTranslator.java:888)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.getNameFor(ImTranslator.java:873)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.getFuncFor(ImTranslator.java:677)
at de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translateFunctionCall(ExprTranslation.java:545)
at de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translateIntern(ExprTranslation.java:443)
at de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translate(ExprTranslation.java:81)
at de.peeeq.wurstscript.ast.ExprMemberMethodDotImpl.imTranslateExpr(ExprMemberMethodDotImpl.java:617)
at de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate(StmtTranslation.java:264)
at de.peeeq.wurstscript.ast.StmtIfImpl.imTranslateStmt(StmtIfImpl.java:357)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateStatements(ImTranslator.java:1009)
at de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate(StmtTranslation.java:264)
at de.peeeq.wurstscript.ast.StmtIfImpl.imTranslateStmt(StmtIfImpl.java:357)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateStatements(ImTranslator.java:1009)
at de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate(StmtTranslation.java:264)
at de.peeeq.wurstscript.ast.StmtIfImpl.imTranslateStmt(StmtIfImpl.java:357)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateStatements(ImTranslator.java:1009)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:83)
at de.peeeq.wurstscript.ast.FuncDefImpl.imTranslateEntity(FuncDefImpl.java:644)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:60)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate(TLDTranslation.java:53)
at de.peeeq.wurstscript.ast.WPackageImpl.imTranslateTLD(WPackageImpl.java:445)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateCompilationUnit(ImTranslator.java:340)
at de.peeeq.wurstscript.translation.imtranslation.ImTranslator.translateProg(ImTranslator.java:146)
... 7 more
That is a lot of errors!
Yeah... It is of course from code that normally compiles via runmap, I guess this was introduced with another hotfix to try to fix modules
I could not reproduce this locally. Could you share some code and reproduction steps?
I could not reproduce this locally. Could you share some code and reproduction steps?
Hmm I tried to take some "small" part of the code, where it worked of course, so it seems to be simply problem when we have the full code.
Its hard to separate just "some part", as its all connected together, and that way I'd have to give your quite a big chunk of the project files, which is not really preferred for us.
Any other possibilities like having a call where I could walk your through it or something?
With latest build 1311, I'm not getting the error anymore.
Closing.