redhat-developer / redhat-developer/vscode-java

[Performance] - Can not find Implementations for interface

Offen
#3,826 1 Kommentar 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

When peek implementations is selected it can not return the query from jdtls.

Environment
  • Operating System: Windows 11
  • JDK version: 21
  • Visual Studio Code version: 1.94.2
  • Java extension version: 1.35.1
Steps To Reproduce
  1. Clone https://github.com/apache/camel
  2. Wait for project to be imported
  3. Go to org.apache.camel.Expression interface
  4. Right click on Expression interface > Peek > Peek Implementations

After executed action(peek implementations) the inline window will never be shown and blue line at top indicating progess will spin. Actually this will make the backend/server unresponsive, at least in my usecase with 4G allocated to JVM.

It should return all places where this interface is implemented.

Also I encountered this error while navigating this project, not sure if it is related to the issue above.

Logs

[Error - 4:02:35 PM] Oct 23, 2024, 4:02:35 PM Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ls.core".
Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
org.eclipse.core.runtime.CoreException: Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1870)
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1855)
at org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider(JavaRuntime.java:1181)
at org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath(JavaRuntime.java:1659)
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getClasspathAndModulepath(AbstractJavaLaunchConfigurationDelegate.java:463)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.lambda$8(ProjectCommand.java:435)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2457)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2482)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspathsFromJavaProject(ProjectCommand.java:434)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspaths(ProjectCommand.java:414)
at org.eclipse.jdt.ls.core.internal.JDTDelegateCommandHandler.executeCommand(JDTDelegateCommandHandler.java:101)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:606)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

[Error - 4:02:35 PM] Oct 23, 2024, 4:02:35 PM Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ls.core".
Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
org.eclipse.core.runtime.CoreException: Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1870)
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1855)
at org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider(JavaRuntime.java:1181)
at org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath(JavaRuntime.java:1659)
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getClasspathAndModulepath(AbstractJavaLaunchConfigurationDelegate.java:463)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.lambda$8(ProjectCommand.java:435)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2457)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2482)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspathsFromJavaProject(ProjectCommand.java:434)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspaths(ProjectCommand.java:414)
at org.eclipse.jdt.ls.core.internal.JDTDelegateCommandHandler.executeCommand(JDTDelegateCommandHandler.java:101)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:606)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

[Error - 4:02:35 PM] Oct 23, 2024, 4:02:35 PM Error in calling delegate command handler
Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
org.eclipse.core.runtime.CoreException: Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1870)
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1855)
at org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider(JavaRuntime.java:1181)
at org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath(JavaRuntime.java:1659)
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getClasspathAndModulepath(AbstractJavaLaunchConfigurationDelegate.java:463)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.lambda$8(ProjectCommand.java:435)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2457)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2482)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspathsFromJavaProject(ProjectCommand.java:434)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspaths(ProjectCommand.java:414)
at org.eclipse.jdt.ls.core.internal.JDTDelegateCommandHandler.executeCommand(JDTDelegateCommandHandler.java:101)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:606)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

[Error - 4:02:35 PM] Oct 23, 2024, 4:02:35 PM Error in calling delegate command handler
Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
org.eclipse.core.runtime.CoreException: Referenced classpath provider does not exist: org.eclipse.m2e.launchconfig.classpathProvider
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1870)
at org.eclipse.jdt.launching.JavaRuntime.abort(JavaRuntime.java:1855)
at org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider(JavaRuntime.java:1181)
at org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath(JavaRuntime.java:1659)
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getClasspathAndModulepath(AbstractJavaLaunchConfigurationDelegate.java:463)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.lambda$8(ProjectCommand.java:435)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2457)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2482)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspathsFromJavaProject(ProjectCommand.java:434)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspaths(ProjectCommand.java:414)
at org.eclipse.jdt.ls.core.internal.JDTDelegateCommandHandler.executeCommand(JDTDelegateCommandHandler.java:101)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:606)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Oct 23, 2024 4:02:36 PM com.microsoft.java.debug.plugin.internal.JavaDebuggerServerPlugin start
INFO: Starting com.microsoft.java.debug.plugin
Oct 23, 2024 4:03:11 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleCancellation
WARNING: Unmatched cancel notification for request id 109

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

Reproduziere das Problem mit org.apache.camel.Expression in der Aktion Peek Implementations und beobachte den in den Logs genannten Befehlsweg des JDT language-server, einschließlich ProjectCommand und JDTDelegateCommandHandler. Verfolge, warum die Anfrage ausstehend bleibt oder den Server nicht mehr reagieren lässt; als abgeschlossen gilt die Aufgabe, wenn das Inline-Fenster alle Implementierungen der Schnittstelle zurückgibt, ohne hängen zu bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript
Bereich
developer-experience, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

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