Community
Participate
Working Groups
1. Create a C project. Name it my_test_A. 2. Add the following main.c file to the project: void main() { } 3. Build my_test_A. 4. Create a C project. Name it my_test_B. 5. Add the following main.c file to the project: void main() { } 6. Build my_test_B. 7. Delete my_test_B and select the option "Delete project contents on disk". 8. Rename project my_test_A to my_test_B. 9. The following errors are seen in the error log: org.eclipse.core.runtime.CoreException: File already exists on disk: C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55) at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:50) at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:319) at org.eclipse.core.internal.resources.ResourceTree.movedProjectSubtree(ResourceTree.java:659) at org.eclipse.core.internal.resources.ResourceTree.standardMoveProject(ResourceTree.java:1085) at org.eclipse.core.internal.resources.Resource.unprotectedMove(Resource.java:1976) at org.eclipse.core.internal.resources.Resource.move(Resource.java:1591) at org.eclipse.ltk.core.refactoring.resource.RenameResourceChange.perform(RenameResourceChange.java:123) at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278) at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2310) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306) at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2310) at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) org.eclipse.core.internal.resources.ResourceException: Problems encountered while moving resources. at org.eclipse.core.internal.resources.Resource.move(Resource.java:1603) at org.eclipse.ltk.core.refactoring.resource.RenameResourceChange.perform(RenameResourceChange.java:123) at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278) at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2310) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306) at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2310) at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) Contains: Error moving metadata area from C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_A to C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. org.eclipse.core.runtime.CoreException: File already exists on disk: C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55) at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:50) at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:319) at org.eclipse.core.internal.resources.ResourceTree.movedProjectSubtree(ResourceTree.java:659) at org.eclipse.core.internal.resources.ResourceTree.standardMoveProject(ResourceTree.java:1085) at org.eclipse.core.internal.resources.Resource.unprotectedMove(Resource.java:1976) at org.eclipse.core.internal.resources.Resource.move(Resource.java:1591) at org.eclipse.ltk.core.refactoring.resource.RenameResourceChange.perform(RenameResourceChange.java:123) at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278) at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2310) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306) at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92) at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2310) at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
This is likely a core.resources issue: Contains: Error moving metadata area from C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_A to C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. org.eclipse.core.runtime.CoreException: File already exists on disk: C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. Could you confirm which version of the platform you're running?
We are running with Indigo M7.
(In reply to comment #1) > This is likely a core.resources issue: > > Contains: Error moving metadata area from > C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_A > to > C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. > org.eclipse.core.runtime.CoreException: File already exists on disk: > C:\Work\CCS_5.1_Eclipse_Indiigo_M7\workspace_run\.metadata\.plugins\org.eclipse.core.resources\.projects\my_test_B. > > Could you confirm which version of the platform you're running? James were you able to reproduce he problem?
(In reply to comment #3) > James were you able to reproduce he problem? I think I've seen this exception before, but not sure how to reproduce. AFAICS .projects/... is automatically cleaned up when the project is deleted.
I managed to reproduce it using vanilla Eclipse. 1) Create a regular project 2) Add a folder and a file inside 3) Modify the file to create an entry in the history 4) Delete the project 5) Try to rename any other project using the name of the deleted one The same problem. The issue is Project#deleteResource that calls clearHistory at the end. This call may try to store history on disc, see Bucket#load and Bucket#save. At the end all history files will be deleted, but the project folder in .metadata\.plugins\org.eclipse.core.resources\.projects remains. Simple inversion of workspace.getMetaArea().delete(this); and clearHistory(null); helps.
Fixed with http://git.eclipse.org/c/platform/eclipse.platform.resources.git/commit/?id=539b10b234ba13507b4fbeb7a2ee32beae16675f