Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 527776

Summary: Error in log: "Resource '/.org.eclipse.jdt.core.external.folders' already exists."
Product: [Eclipse Project] JDT Reporter: Andrey Loskutov <loskutov>
Component: CoreAssignee: Andrey Loskutov <loskutov>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 4.5   
Target Milestone: 4.8 M4   
Hardware: All   
OS: All   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=526180
https://git.eclipse.org/r/#/c/112313/
https://bugs.eclipse.org/bugs/show_bug.cgi?id=527819
https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=e45ddc1659ac0d14714b0b0978ad0b020a4ef2eb
Whiteboard:
Bug Depends on: 526180    
Bug Blocks:    

Description Andrey Loskutov CLA 2017-11-27 03:51:38 EST
Aeri report:

https://dev.eclipse.org/recommenders/committers/aeri/v2/#!/problems/55ce3600e4b07ee9504fc54f

We observe same issue in our tests, randomly we get this:

!ENTRY EWC.TEST 1 0 2017-11-26 04:06:09.516
!MESSAGE Job (Update Installed JREs class org.eclipse.jdt.internal.launching.LaunchingPlugin$JREUpdateJob) during test testReceiveDifferentNotifications encountered resource exception

!ENTRY org.eclipse.core.resources 4 374 2017-11-26 04:06:09.516
!MESSAGE Resource '/.org.eclipse.jdt.core.external.folders' already exists.
!STACK 0
java.lang.Exception: Resource '/.org.eclipse.jdt.core.external.folders' already exists.
	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:39)
	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:35)
	at org.eclipse.core.internal.resources.Resource.checkDoesNotExist(Resource.java:314)
	at org.eclipse.core.internal.resources.Resource.checkDoesNotExist(Resource.java:301)
	at org.eclipse.core.internal.resources.Project.assertCreateRequirements(Project.java:52)
	at org.eclipse.core.internal.resources.Project.create(Project.java:263)
	at org.eclipse.jdt.internal.core.ExternalFoldersManager.createExternalFoldersProject(ExternalFoldersManager.java:320)
	at org.eclipse.jdt.internal.core.ExternalFoldersManager.createExternalFoldersProject(ExternalFoldersManager.java:262)
	at org.eclipse.jdt.internal.core.ExternalFoldersManager.createLinkFolder(ExternalFoldersManager.java:168)
	at org.eclipse.jdt.internal.core.ExternalFolderChange.updateExternalFoldersIfNecessary(ExternalFolderChange.java:49)
	at org.eclipse.jdt.internal.core.ChangeClasspathOperation.classpathChanged(ChangeClasspathOperation.java:59)
	at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:111)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:724)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:795)
	at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:5679)
	at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:111)
	at org.eclipse.jdt.internal.launching.LaunchingPlugin$VMChanges.rebind(LaunchingPlugin.java:365)
	at org.eclipse.jdt.internal.launching.LaunchingPlugin$VMChanges.access$0(LaunchingPlugin.java:299)
	at org.eclipse.jdt.internal.launching.LaunchingPlugin$VMChanges$1.run(LaunchingPlugin.java:285)
	at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:724)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
	at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5609)
	at org.eclipse.jdt.internal.launching.LaunchingPlugin$VMChanges.doit(LaunchingPlugin.java:289)
	at org.eclipse.jdt.internal.launching.LaunchingPlugin$JREUpdateJob.run(LaunchingPlugin.java:386)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Comment 2 Andrey Loskutov CLA 2017-11-27 18:09:57 EST
The fix for the concrete error was trivial, but the main root cause is the bug 526180. Closing this one and going to fix bug 526180.
Comment 3 Sasikanth Bharadwaj CLA 2017-12-06 03:35:17 EST
Verified for 4.8 M4 (by inspection)