Open dradtke opened 4 years ago
@dradtke could you attach a sample project reproducing the issue?
Unfortunately, I ran into this at work, so I can't upload the code directly and I haven't been able to reliably reproduce it yet. If I can reproduce it reliably with small, personal sample project, I will upload that information here.
So I was able to reproduce that error, though it doesn't seem to be as big of a problem as I thought, so I don't know what was causing the behavior earlier when a bunch of symbols were suddenly unrecognized.
I see this exception in .log
whenever I run the test in this project via java-debug
:
org.eclipse.core.runtime.CoreException: The input type of the launch configuration does not exist
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.abort(JUnitLaunchConfigurationDelegate.java:752)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.getTestTarget(JUnitLaunchConfigurationDelegate.java:746)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.evaluateTests(JUnitLaunchConfigurationDelegate.java:347)
at org.eclipse.buildship.core.internal.launch.SupportedLaunchConfigType$RelaxedJUnitLaunchConfigurationDelegate.evaluateTests(SupportedLaunchConfigType.java:139)
at org.eclipse.buildship.core.internal.launch.SupportedLaunchConfigType$2.getSourceFolders(SupportedLaunchConfigType.java:70)
at org.eclipse.buildship.core.internal.launch.SupportedLaunchConfigType.collectSourceFolders(SupportedLaunchConfigType.java:110)
at org.eclipse.buildship.core.internal.launch.LaunchConfigurationScope.from(LaunchConfigurationScope.java:57)
at org.eclipse.buildship.core.internal.workspace.GradleClasspathContainerRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry(GradleClasspathContainerRuntimeClasspathEntryResolver.java:54)
at org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry(RuntimeClasspathEntryResolver.java:49)
at org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspathEntry(JavaRuntime.java:1262)
at org.eclipse.buildship.core.internal.launch.GradleClasspathProvider.resolveClasspath(GradleClasspathProvider.java:101)
at org.eclipse.buildship.core.internal.launch.GradleClasspathProvider.resolveOther(GradleClasspathProvider.java:118)
at org.eclipse.buildship.core.internal.launch.GradleClasspathProvider.resolveClasspath(GradleClasspathProvider.java:95)
at org.eclipse.jdt.internal.launching.RuntimeClasspathProvider.resolveClasspath(RuntimeClasspathProvider.java:68)
at org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspath(JavaRuntime.java:1695)
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getClasspathAndModulepath(AbstractJavaLaunchConfigurationDelegate.java:464)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand$1.run(ProjectCommand.java:138)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.getClasspaths(ProjectCommand.java:135)
at org.eclipse.jdt.ls.core.internal.JDTDelegateCommandHandler.executeCommand(JDTDelegateCommandHandler.java:67)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:215)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:205)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$3(JDTLanguageServer.java:495)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:75)
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
I also saw an unrelated exception, which occurred whenever I opened Main.java
with a fully-clean slate, i.e. no bin
, build
, or Eclipse workspace directories existing prior:
org.eclipse.buildship.core.internal.GradlePluginsRuntimeException: org.eclipse.core.internal.resources.ResourceException: Problems encountered while moving resources.
at org.eclipse.buildship.core.internal.workspace.DefaultWorkspaceOperations.renameProject(DefaultWorkspaceOperations.java:361)
at org.eclipse.buildship.core.internal.workspace.ProjectNameUpdater.updateProjectName(ProjectNameUpdater.java:49)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.synchronizeOpenWorkspaceProject(SynchronizeGradleBuildOperation.java:159)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.synchronizeWorkspaceProject(SynchronizeGradleBuildOperation.java:137)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.synchronizeGradleProjectWithWorkspaceProject(SynchronizeGradleBuildOperation.java:127)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.access$000(SynchronizeGradleBuildOperation.java:42)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation$1.run(SynchronizeGradleBuildOperation.java:85)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2312)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.synchronizeProjectsWithWorkspace(SynchronizeGradleBuildOperation.java:82)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.run(SynchronizeGradleBuildOperation.java:64)
at org.eclipse.buildship.core.internal.DefaultGradleBuild$SynchronizeOperation.runInToolingApi(DefaultGradleBuild.java:230)
at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager$WorkspaceRunnableAdapter.run(DefaultToolingApiOperationManager.java:58)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:39)
at org.eclipse.buildship.core.internal.DefaultGradleBuild$SynchronizeOperation.run(DefaultGradleBuild.java:192)
at org.eclipse.buildship.core.internal.DefaultGradleBuild.synchronize(DefaultGradleBuild.java:100)
at org.eclipse.buildship.core.internal.DefaultGradleBuild.synchronize(DefaultGradleBuild.java:86)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.startSynchronization(GradleProjectImporter.java:227)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.importDir(GradleProjectImporter.java:127)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.lambda$0(GradleProjectImporter.java:119)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1082)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.importToWorkspace(GradleProjectImporter.java:119)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:108)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:98)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:195)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.eclipse.core.internal.resources.ResourceException: Problems encountered while moving resources.
at org.eclipse.core.internal.resources.Project.move(Project.java:994)
at org.eclipse.core.internal.resources.Project.move(Project.java:955)
at org.eclipse.buildship.core.internal.workspace.DefaultWorkspaceOperations.renameProject(DefaultWorkspaceOperations.java:359)
... 29 more
Neither seemed to cause the unrecognized symbol problem that I was seeing before, but maybe they're somehow related?
Versions:
Language server: 0.58.0 Debug adapter: 0.27.0
@dradtke The latest Language Server is 0.66.0. Could you update all your Java extensions (Java Language Support, Debugger for Java, Java Test Runner) to the latest version and try again?
Sometimes when editing a test, the language server will seemingly crash on me and start complaining that any import outside of the standard library or immediate project cannot be resolved. This is with a Gradle-based project that normally has no issues, and even when this does happen, it seems to be limited to test files, so at least it didn't actually crash.
The only error I can see in the logs, even when running with
-Djdt.ls.debug=true
, is this:For context, I'm using Microsoft's
java-debug
extension to run tests, though that doesn't seem to be an issue here. I don't know what exactly is causing this, but I have a hunch it has to do with building the project and then switching branches.