redhat-developer / redhat-developer/vscode-java
TypeError: Cannot read property 'rows' of undefined
未关闭
还没有人认领这个 Issue。
bug
- 主要语言
- TypeScript
- 星标
- 2.3k
- 派生
- 547
- 平均合并
- 20 小时 1 分钟
- 30 天内合并 PR
- 11
描述
Whenever I open my project, the extension fails with:
ERR Cannot read property 'rows' of undefined: TypeError: Cannot read property 'rows' of undefined
at u.open (/home/x/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:15:69804)
at S.startSendingEvents (/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:88:32770)
at u._setupExtHostProcessListeners (/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:88:37551)
at u.attachPtyToTerminal (/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:88:34952)
at S.$onDidStartTask (/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:90:46370)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
I inspected the extensions file and it seems that e is undefined:
open(e){
s.serverTasks.suggestTaskEntrySize(e.rows-1);
const t=s.serverTasks.getHistory();
this.printTasks(t)
}
and then after a few seconds:
ERR The request (id: 1, method: 'textDocument/documentSymbol') has been cancelled: Error: The request (id: 1, method: 'textDocument/documentSymbol') has been cancelled
at /home/x/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/x/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate.<anonymous> (/home/x/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
Here are some info messages it shows before:
{
message: 'Starting Java server with: /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dfile.encoding=utf8 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:/home/x/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar -noverify -jar /home/x/.vscode/extensions/redhat.java-0.76.0/server/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar -configuration /home/x/.config/Code/User/globalStorage/redhat.java/0.76.0/config_ss_linux -data /home/x/.config/Code/User/workspaceStorage/dfcb4a389a57c5e007b1c06673447101/redhat.java/ss_ws',
level: 'info',
timestamp: '2021-03-22 10:41:18.617'
}
{
message: 'Starting Java server with: /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dfile.encoding=utf8 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:/home/x/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar -noverify -jar /home/x/.vscode/extensions/redhat.java-0.76.0/server/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar -configuration /home/x/.config/Code/User/globalStorage/redhat.java/0.76.0/config_linux -data /home/x/.config/Code/User/workspaceStorage/dfcb4a389a57c5e007b1c06673447101/redhat.java/jdt_ws',
level: 'info',
timestamp: '2021-03-22 10:41:18.689'
}
This previously worked so I'm not sure what changed.
Environment
- Operating System: Debian GNU/Linux 10 (buster)
- JDK version: OpenJDK Java 11 AMD64, project JDK: 1.8
- Visual Studio Code version: 1.54.3
- Java extension version: 0.76.0
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 redhat.java 0.76.0 中捆绑的 extension.js 里报告的堆栈跟踪开始,并使用列出的 VS Code 和 Java 版本在打开项目时重现该故障。跟踪 open(e) 附近的任务启动路径,并确定其参数为何为 undefined;当打开项目不再引发 rows TypeError,且后续的 document-symbol 请求不再被取消时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, typescript, vscode
- 领域
- developer-experience, tooling
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 30/100