vscode-java
vscode-java copied to clipboard
"Could not set the project description for '<xyz>' because the project description file (.project) is out of sync with the file system" since v0.66.0
Ever since the latest update (0.66.0), I've consistently been getting the title error message in exceptions in the extension output panel (Could not set the project description for '<xyz>' because the project description file (.project) is out of sync with the file system.) and is very difficult to solve consistently.
Environment
- Operating System: Arch Linux
- JDK version: 14
- Visual Studio Code version: 1.48.2
- Java extension version: 0.66.0
Steps To Reproduce
Often happens when invoking the command "clean language server workspace", sometimes just when restarting VSCode
Cant repro easily and consistently
Issue isn't isolated to any one repo
Logs
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.jpackage
[Error - 1:12:44 PM] Sep 3, 2020, 1:12:44 PM Failed to configure project spoon-core
Could not set the project description for 'spoon-core' because the project description file (.project) is out of sync with the file system.
org.eclipse.core.internal.resources.ResourceException(/spoon-core)[274]: java.lang.Exception: Could not set the project description for 'spoon-core' because the project description file (.project) is out of sync with the file system.
at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1264)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1298)
at org.eclipse.buildship.core.internal.workspace.ProjectNatureUpdater.update(ProjectNatureUpdater.java:49)
at org.eclipse.buildship.core.internal.workspace.BaseConfigurator.configure(BaseConfigurator.java:86)
at org.eclipse.buildship.core.internal.workspace.BaseConfigurator.configure(BaseConfigurator.java:66)
at org.eclipse.buildship.core.internal.extension.InternalProjectConfigurator.configure(InternalProjectConfigurator.java:65)
at org.eclipse.buildship.core.internal.workspace.ProjectConfigurators.configureConfigurators(ProjectConfigurators.java:70)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.synchronizeOpenWorkspaceProject(SynchronizeGradleBuildOperation.java:163)
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:238)
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.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1087)
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:114)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:104)
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)
[Error - 1:12:44 PM] Sep 3, 2020, 1:12:44 PM Failed to configure project spoon-core
Could not set the project description for 'spoon-core' because the project description file (.project) is out of sync with the file system.
org.eclipse.core.internal.resources.ResourceException(/spoon-core)[274]: java.lang.Exception: Could not set the project description for 'spoon-core' because the project description file (.project) is out of sync with the file system.
at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1264)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1298)
at org.eclipse.buildship.core.internal.workspace.ProjectNatureUpdater.update(ProjectNatureUpdater.java:49)
at org.eclipse.buildship.core.internal.workspace.BaseConfigurator.configure(BaseConfigurator.java:86)
at org.eclipse.buildship.core.internal.workspace.BaseConfigurator.configure(BaseConfigurator.java:66)
at org.eclipse.buildship.core.internal.extension.InternalProjectConfigurator.configure(InternalProjectConfigurator.java:65)
at org.eclipse.buildship.core.internal.workspace.ProjectConfigurators.configureConfigurators(ProjectConfigurators.java:70)
at org.eclipse.buildship.core.internal.workspace.SynchronizeGradleBuildOperation.synchronizeOpenWorkspaceProject(SynchronizeGradleBuildOperation.java:163)
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:238)
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.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1087)
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:114)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:104)
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)
Current Result
Language server gives up, no autocomplete, linting etc. Deleting .project files and restarting does not consistently solve the issue, nor does invoking the command to clean the lang server workspace.
Expected Result
Opposite of above
Additional Informations
Issue never occurred in previous version
This is annoying and happens quite often.
Environment -Operating System: Windows 10 -JDK version: 11 -Visual Studio Code version: 1.49.3 -Java extension version: 0.68.0
If I delete the .gradle root folder and reopen vscode again it works till I clean the language server or restart vscode.
@snjeza do you have any idea, why this is happening?
@Slay3r @Strum355 could you try to reproduce the issue with https://github.com/snjeza/vscode-test/raw/master/java-0.69.0.vsix?
Hi @snjeza , okay here my steps with Java Language Server logs:
- installed 0.69.0.vsix
- started project in vscode and got the same error (1.log)
- Closed vscode and deleted all .project files
- Reopen vscode and it starts without the error (2.log)
- Cleaned Java Language Server 2-3 Times than the same error pops up (3.log)
Without cleaning the language server can reopen vscode several times without any problem. Maybe its an issue regarding the "Clean Java Language Server"
Maybe @Strum355 can also reproduce this issue.
@Slay3r could you provide the following:
- your settings.json
- your VS Code extension's list
- a project example
Could you reproduce the issue if disable all extensions except Java LS?
@snjeza
I think I found the problem by stripping down and preparing a project for you. I don't know if this is allowed or not.
I disabled all extension except for the "Language Support for Java(TM)" extension
The Problem: I declared in the settings.gradle file my Root Project Name with:
rootProject.name = 'demo'
But the Project is in a Folder called "demoproject".
If I have this configuration the problem is occurring when cleaning the language server several times.
If I change the Root Project Name to:
rootProject.name = 'demoproject' Everything is working.
So the question is now, is it allowed to declare a different root project name in gradle than the folder name?
Demo Project (check the settings.gradle): demoproject.zip
Thanks for your time.
This is a buildship upstream issue. It can be reproduced in Eclipse. Related issue - https://github.com/eclipse/buildship/issues/478 cc @donat @Slay3r Thanks
@snjeza, @donat is a fixed version already planned or when can a new version be expected?
@fbricon we can remove the .project files or remove the filteredResources property from them when importing a new gradle project. What do you think?
@Slay3r you can try to add:
"java.project.resourceFilters": [],
to your settings.json.
I'm having the same issue but during debugging. That's handled by another extension, right?
@rgrunber @fbricon Could you, please, comment on https://github.com/redhat-developer/vscode-java/issues/1607#issuecomment-707773723
I have same issue, and
"java.project.resourceFilters": [],
is effective for my project. Thanks.