redhat-developer / redhat-developer/vscode-java

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

Offen
#1,875 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

[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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Bericht mit dem verknüpften tackle-pathfinder-Projekt zu reproduzieren, und untersuche den Stacktrace bei org.lsp4mp.jdt.core.utils.JDTMicroProfileUtils.getProjectURI, insbesondere Zeile 62. Verfolge die Delta-Verarbeitung von MicroProfilePropertiesListenerManager rund um den gemeldeten Nullzeiger und die sporadisch auftretenden Diagnosen zu nicht aufgelösten Typen. Als erledigt gilt die Aufgabe, wenn der Listener nicht mehr fehlschlägt und gültige Klassen nicht mehr sporadisch als nicht aufgelöst gemeldet werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
devtools, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.