redhat-developer / redhat-developer/vscode-java

TypeError: Cannot read property 'rows' of undefined

未关闭
#1,843 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 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

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。