redhat-developer / redhat-developer/vscode-java
[Performance] - Can not find Implementations for interface
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2.3k
- Forks
- 546
- Merge moyen
- 20 h 1 min
- PR mergées (30 j)
- 11
Description
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
- Clone https://github.com/apache/camel
- Wait for project to be imported
- Go to org.apache.camel.Expression interface
- 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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez le problème avec org.apache.camel.Expression dans l’action Peek Implementations et observez le chemin de commande du JDT language-server indiqué dans les logs, notamment ProjectCommand et JDTDelegateCommandHandler. Suivez la raison pour laquelle la requête reste en attente ou rend le serveur non réactif ; le travail est considéré comme terminé lorsque la fenêtre inline renvoie toutes les implémentations de l’interface sans se bloquer.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, typescript
- Domaine
- developer-experience, tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100