redhat-developer / redhat-developer/vscode-java

Java language server fails in JrtFileSystem.walkModuleImage() with 1.10.0

オープン
#2,655 コメント 5 件 リアクション 4 件 担当者 1 名 GitHub で見る

@testforstephen がすでに取り組んでいます。

2022年9月19日 から。

bug ls-error/crash regression upstream
主要言語
TypeScript
スター
2.3k
フォーク
546
平均マージ
20時間 1分
マージ済み PR(30日)
11

説明

Java language server fails when opening a project with the following error/stacktrace:

[Error - 5:16:03 PM] Sep 1, 2022, 5:16:03 PM Initialization failed
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
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
at org.eclipse.jdt.internal.compiler.util.JRTUtil.walkModuleImage(JRTUtil.java:242)
at org.eclipse.jdt.internal.core.JavaProject.loadModulesInJimage(JavaProject.java:983)
at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:782)
at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:1103)
at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:1048)
at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:1025)
at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:538)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:266)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:597)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:328)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:314)
at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:269)
at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2384)
at org.eclipse.jdt.internal.core.JavaProject.getPackageFragments(JavaProject.java:2408)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.cleanupResources(ProjectsManager.java:278)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:107)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Downgrading the extension to the previous version (1.9.0) fixed the issue.

Environment
  • Operating System: Ubuntu 22.04, but also seen by coworkers using MacOS
  • JDK version: OpenJDK Runtime Environment Zulu17.28+13-CA (build 17+35-LTS)
  • Visual Studio Code version: 1.70.2
  • Java extension version: 1.10.0
Steps To Reproduce
  1. Upgrade to the newest vscode-java release
  2. Open an existing Java project

I don't know if it happens for all java projects, our is pretty complex and I unfortunately cannot share it.

Current Result

Opening an existing java project fails (it logs errors as described above and never finishes).

Expected Result

Opening java projects that worked in 1.9.0 should work with the latest version.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。