redhat-developer / redhat-developer/vscode-java
Starting language server crashes
未关闭
还没有人认领这个 Issue。
ls-error/crash
- 主要语言
- TypeScript
- 星标
- 2.3k
- 派生
- 546
- 平均合并
- 20 小时 1 分钟
- 30 天内合并 PR
- 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 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
通过在 VS Code 中打开一个 Java 文件并使用 Ant 重新构建 SAP hybris 套件来重现崩溃;如果可用,请使用所述的 macOS 和 JDK 环境。从 EclipseProjectImporter.java:96 处的堆栈跟踪开始,并通过 ProjectsManager 和 InitHandler 跟踪初始化过程。当 language server 在没有 Invalid project description 错误的情况下完成 workspace 刷新时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, vscode
- 领域
- devtools
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 28/100