redhat-developer / redhat-developer/vscode-java
Starting language server crashes
オープン
まだ誰も着手していません。
ls-error/crash
- 主要言語
- TypeScript
- スター
- 2.3k
- フォーク
- 546
- 平均マージ
- 20時間 1分
- マージ済み PR(30日)
- 11
説明
When building SAP hybris from the command line (outside of vscode) with ant, nearly all class files get regenerated.
Afterwards the langage server hangs at 22-24% and outputs the error logs down below.
Environment
- Operating System: macOS 10.12.6 (16G1036)
- JDK version: 1.8.0_144
- Visual Studio Code version: Version 1.18.0 (1.18.0)
- Java extension version: 0.14.0
Steps To Reproduce
- Start vscode and load a java file -> language server gets invoked
- rebuild whole SAP hybris suite (several 10k classes)
3 switch back to vscode -> the language server tries to refresh and crashes
[attach a sample project reproducing the error]
attach logs
Current Result
[Error - 15:42:07] 16.11.2017 15:40:54 Invalid project description.
[Error - 15:42:07] 16.11.2017 15:40:54 An internal error occurred during: "Initialize Workspace".
org.eclipse.core.internal.resources.ResourceException: Invalid project description.
java.lang.RuntimeException: org.eclipse.core.internal.resources.ResourceException: Invalid project description.
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.importDir(EclipseProjectImporter.java:96)
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.lambda$0(EclipseProjectImporter.java:63)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.importToWorkspace(EclipseProjectImporter.java:63)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:100)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.access$1(ProjectsManager.java:94)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager$1.run(ProjectsManager.java:88)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:724)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5660)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5617)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:82)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:157)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: org.eclipse.core.internal.resources.ResourceException: Invalid project description.
at org.eclipse.core.internal.resources.Project.checkDescription(Project.java:169)
at org.eclipse.core.internal.resources.Project.assertCreateRequirements(Project.java:53)
at org.eclipse.core.internal.resources.Project.create(Project.java:263)
at org.eclipse.core.internal.resources.Project.create(Project.java:247)
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.importDir(EclipseProjectImporter.java:92)
... 17 more
Expected Result
Don't crash
Additional Informations
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
VS Code で Java ファイルを開き、指定された macOS および JDK 環境が利用可能な場合はそれを使用して、Ant で SAP hybris スイートを再ビルドし、クラッシュを再現します。EclipseProjectImporter.java:96 のスタックトレースから開始し、ProjectsManager と InitHandler を通じて初期化を追跡します。language server が Invalid project description エラーなしで workspace の更新を完了すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, vscode
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 28/100