0

Since some days I get an error at startup of language server. The log file looks as follows indicating a NollPointerException:

message: '[Error - 11:53:59 AM] Sep 23, 2022, 11:53:59 AM Error in JDT Core during AST creation\n' +
    'Cannot invoke "org.eclipse.jdt.internal.compiler.util.JrtFileSystem.walkModuleImage(org.eclipse.jdt.internal.compiler.util.JRTUtil$JrtFileVisitor, int)" because the return value of "org.eclipse.jdt.internal.compiler.util.JRTUtil.getJrtSystem(java.io.File, String)" is null\n' +
    'java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.internal.compiler.util.JrtFileSystem.walkModuleImage(org.eclipse.jdt.internal.compiler.util.JRTUtil$JrtFileVisitor, int)" because the return value of "org.eclipse.jdt.internal.compiler.util.JRTUtil.getJrtSystem(java.io.File, String)" is null\n' +
    '\tat org.eclipse.jdt.internal.compiler.util.JRTUtil.walkModuleImage(JRTUtil.java:242)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.loadModulesInJimage(JavaProject.java:983)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:782)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:1103)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:1048)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:1025)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:538)\n' +
    '\tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:266)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:597)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:328)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:314)\n' +
    '\tat org.eclipse.jdt.internal.core.JavaProject.getModuleDescription(JavaProject.java:3917)\n' +
    '\tat org.eclipse.jdt.internal.core.BasicCompilationUnit.initAttributes(BasicCompilationUnit.java:86)\n' +
    '\tat org.eclipse.jdt.internal.core.BasicCompilationUnit.<init>(BasicCompilationUnit.java:67)\n' +
    '\tat org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1176)\n' +
    '\tat org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:868)\n' +
    '\tat org.eclipse.jdt.core.manipulation.CoreASTProvider$1.run(CoreASTProvider.java:294)\n' +
    '\tat org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)\n' +
    '\tat org.eclipse.jdt.core.manipulation.CoreASTProvider.createAST(CoreASTProvider.java:286)\n' +
    '\tat org.eclipse.jdt.core.manipulation.CoreASTProvider.getAST(CoreASTProvider.java:199)\n' +
    '\tat org.eclipse.jdt.ls.core.internal.handlers.SemanticTokensHandler.full(SemanticTokensHandler.java:46)\n' +
    '\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$53(JDTLanguageServer.java:1051)\n' +
    '\tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:75)\n' +
    '\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)\n' +
    '\tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)\n' +
    '\tat java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)\n' +
    '\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)\n' +
    '\tat java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)\n' +
    '\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)\n' +
    '\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)\n',
  level: 'info',
  timestamp: '2022-09-23 11:53:59.397'
}

This happens in so simple projects like https://github.com/Reissner/icons, but not always. seems kind of instability. Cannot figure out the problem. I am also new to vs code.

Maybe thats immaterial but I work on linux, VSCode has version 1.71.2, I have installed the Extension Pack for Java, version v0.25.1 and I would say nothing else related with java.

user2609605
  • 419
  • 2
  • 14

2 Answers2

2

Looks like the release file is missing.

Have you tried this solution? https://github.com/redhat-developer/vscode-java/issues/2698#issuecomment-1258845512

Sheng Chen
  • 1,012
  • 4
  • 18
  • very close: plugin just seems to require java17 without telling.. I installed and it seems to work! Thank you! – user2609605 Sep 30 '22 at 22:50
  • the link in this solution worked for me!! I simply needed to create a `release` file in the $JAVA_HOME folder: ``` echo "JAVA_VERSION=\"11.0.15\"" > $JAVA_HOME/release ``` – Takeshi Gitano Oct 17 '22 at 11:37
1

I simply needed to create a release file in the $JAVA_HOME folder, as follows (I was using java version 11.0.15):

echo "JAVA_VERSION=\"11.0.15\"" > $JAVA_HOME/release
Takeshi Gitano
  • 719
  • 5
  • 6