Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"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 #1607

Open
Strum355 opened this issue Sep 3, 2020 · 11 comments
Assignees
Labels

Comments

@Strum355
Copy link

Strum355 commented Sep 3, 2020

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

@Slay3r
Copy link

Slay3r commented Oct 5, 2020

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?

@snjeza
Copy link
Contributor

snjeza commented Oct 8, 2020

@Slay3r @Strum355 could you try to reproduce the issue with https://github.com/snjeza/vscode-test/raw/master/java-0.69.0.vsix?

@Slay3r
Copy link

Slay3r commented Oct 9, 2020

Hi @snjeza ,
okay here my steps with Java Language Server logs:

  1. installed 0.69.0.vsix
  2. started project in vscode and got the same error (1.log)
  3. Closed vscode and deleted all .project files
  4. Reopen vscode and it starts without the error (2.log)
  5. 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.

@snjeza
Copy link
Contributor

snjeza commented Oct 9, 2020

@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?

@Slay3r
Copy link

Slay3r commented Oct 9, 2020

@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.

@snjeza
Copy link
Contributor

snjeza commented Oct 9, 2020

This is a buildship upstream issue. It can be reproduced in Eclipse.
Related issue - eclipse/buildship#478
cc @donat
@Slay3r Thanks

@snjeza snjeza added the upstream label Oct 9, 2020
@Slay3r
Copy link

Slay3r commented Oct 13, 2020

@snjeza, @donat
is a fixed version already planned or when can a new version be expected?

@snjeza
Copy link
Contributor

snjeza commented Oct 13, 2020

@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.

@levrik
Copy link

levrik commented Aug 31, 2021

I'm having the same issue but during debugging. That's handled by another extension, right?

@snjeza
Copy link
Contributor

snjeza commented Jan 21, 2022

@rgrunber @fbricon Could you, please, comment on #1607 (comment)

@noguchi-taketo
Copy link

I have same issue, and

"java.project.resourceFilters": [],

is effective for my project. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants