redhat-developer / redhat-developer/vscode-java

Code is underlined with message "cannot be resolved to a type" , but it's not true

オープン
#1,875 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
TypeScript
スター
2.3k
フォーク
546
平均マージ
20時間 1分
マージ済み PR(30日)
11

説明

[provide a description of the issue]
IDE is showing some classes as "cannot be resolved to a type" , but the class exists, the code compiles fine. And also every now and then typing, waiting, the error disappears and appears again.
Project : https://github.com/jonathanvila/tackle-pathfinder
Line with error now : https://github.com/jonathanvila/tackle-pathfinder/blob/508abe531f3958f9b829e4b1fbac26b2a59a5fd3/src/main/java/io/tackle/pathfinder/model/assessment/AssessmentSingleOption.java#L41

image

Environment
  • Operating System: Fedora 33
  • JDK version: OpenJDK 11.0.9
  • Visual Studio Code version: 1.55.0
  • Java extension version: Language Support for Java 0.76.0
Steps To Reproduce
  1. Randomly it shows classes as cannot be resolved

[Please attach a sample project reproducing the error]
Project : https://github.com/jonathanvila/tackle-pathfinder
Please attach logs

LOG (today) Language Support extension :

[Error - 10:54:00] 13 Apr 2021, 10:54:00 Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core".
null
java.lang.NullPointerException
at org.eclipse.lsp4mp.jdt.core.utils.JDTMicroProfileUtils.getProjectURI(JDTMicroProfileUtils.java:62)
at org.eclipse.lsp4mp.jdt.core.utils.JDTMicroProfileUtils.getProjectURI(JDTMicroProfileUtils.java:52)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.processDelta(MicroProfilePropertiesListenerManager.java:105)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.processDeltaChildren(MicroProfilePropertiesListenerManager.java:85)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.processDelta(MicroProfilePropertiesListenerManager.java:95)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.elementChanged(MicroProfilePropertiesListenerManager.java:76)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run(DeltaProcessor.java:1755)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1743)
at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(DeltaProcessor.java:1576)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1552)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyAndFire(DeltaProcessor.java:2273)
at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2163)
at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:477)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:380)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1502)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:49)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 10:54:00] 13 Apr 2021, 10:54:00 Exception occurred in listener of Java element change notification
null
java.lang.NullPointerException
at org.eclipse.lsp4mp.jdt.core.utils.JDTMicroProfileUtils.getProjectURI(JDTMicroProfileUtils.java:62)
at org.eclipse.lsp4mp.jdt.core.utils.JDTMicroProfileUtils.getProjectURI(JDTMicroProfileUtils.java:52)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.processDelta(MicroProfilePropertiesListenerManager.java:105)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.processDeltaChildren(MicroProfilePropertiesListenerManager.java:85)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.processDelta(MicroProfilePropertiesListenerManager.java:95)
at org.eclipse.lsp4mp.jdt.internal.core.MicroProfilePropertiesListenerManager$MicroProfileListener.elementChanged(MicroProfilePropertiesListenerManager.java:76)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run(DeltaProcessor.java:1755)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1743)
at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(DeltaProcessor.java:1576)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1552)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyAndFire(DeltaProcessor.java:2273)
at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2163)
at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:477)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:380)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1502)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:49)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

LOG ( today ) Extension host :

[2021-04-13 10:59:48.903] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 10:59:48.903] [exthost] [error] Error: The request (id: 190057, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 10:59:52.521] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 10:59:52.521] [exthost] [error] Error: The request (id: 190077, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:02:12.706] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 11:02:12.706] [exthost] [error] Error: The request (id: 190239, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:02:53.107] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 11:02:53.107] [exthost] [error] Error: The request (id: 190389, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:04:18.872] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 11:04:18.873] [exthost] [error] Error: The request (id: 190531, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:06:43.284] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 11:06:43.284] [exthost] [error] Error: The request (id: 190841, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:06:43.288] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 11:06:43.288] [exthost] [error] Error: The request (id: 190845, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:06:43.289] [exthost] [error] [redhat.java] provider FAILED
[2021-04-13 11:06:43.290] [exthost] [error] Error: The request (id: 190849, method: 'textDocument/hover') has been cancelled
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76464
at /home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:76758
at Immediate. (/home/jonathan/.vscode/extensions/redhat.java-0.76.0/dist/extension.js:1:77117)
at processImmediate (internal/timers.js:456:21)
[2021-04-13 11:08:33.211] [exthost] [warning] TextEditor is closed/disposed
[2021-04-13 11:08:39.710] [exthost] [info] ExtensionService#_doActivateExtension vscode.npm {"startup":false,"extensionId":{"value":"vscode.npm","_lower":"vscode.npm"},"activationEvent":"onLanguage:json"}
[2021-04-13 11:08:39.711] [exthost] [info] ExtensionService#loadCommonJSModule file:///usr/share/code/resources/app/extensions/npm/dist/npmMain

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

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

はじめの一歩

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

調査の方向性

まず、リンクされている tackle-pathfinder プロジェクトで報告を再現し、org.lsp4mp.jdt.core.utils.JDTMicroProfileUtils.getProjectURI のスタックトレース、特に 62 行目を調査します。報告された null ポインターと、断続的に発生する未解決型の診断の周辺で、MicroProfilePropertiesListenerManager の delta 処理を追跡します。listener が失敗しなくなり、有効なクラスが断続的に未解決として報告されなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, typescript, vscode
領域
devtools, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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