Bug 190563

Summary: ConcurrentModificationException from org.eclipse.jdt.internal.core.builder.NameEnvironment
Product: [Eclipse Project] JDT Reporter: Bala Balakumran <balakuma>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: tjbishop
Version: 3.0.2   
Target Milestone: 3.2 M4   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
workspace that produced the error none

Description Bala Balakumran CLA 2007-06-01 16:08:37 EDT
Build ID: 3.0.2

Steps To Reproduce:
1. In a headless app based on eclipse 3.0.2 A random
Concurrent modification exception is happening when the project is built

ENTRY org.eclipse.core.runtime 4 2 Jun 01, 2007 12:18:55.99
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.runtime".
!STACK 0
java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[Worker-0,5,main]
	at java.util.HashMap.onEntry(HashMap.java:211)
	at java.util.HashMap.transfer(HashMap.java:554)
	at java.util.HashMap.resize(HashMap.java:541)
	at java.util.HashMap.addEntry(HashMap.java:901)
	at java.util.HashMap.put(HashMap.java:474)
	at java.util.HashSet.add(HashSet.java:206)
	at org.eclipse.jdt.internal.core.JavaModel.getTarget(JavaModel.java:365)
	at org.eclipse.jdt.internal.core.DeltaProcessor.createExternalArchiveDelta(DeltaProcessor.java:802)
	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1842)
	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:414)
	at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:283)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
	at org.eclipse.core.runtime.Platform.run(Platform.java:747)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:277)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:151)
	at org.eclipse.core.internal.resources.Workspace.broadcastChanges(Workspace.java:172)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:900)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1682)
	at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(NotificationManager.java:38)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

!ENTRY org.eclipse.core.runtime 4 2 Jun 01, 2007 12:18:55.102
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.runtime".
!STACK 0
java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[main,5,main]
	at java.util.HashMap.onExit(HashMap.java:223)
	at java.util.HashMap.transfer(HashMap.java:558)
	at java.util.HashMap.resize(HashMap.java:541)
	at java.util.HashMap.addEntry(HashMap.java:901)
	at java.util.HashMap.put(HashMap.java:474)
	at java.util.HashSet.add(HashSet.java:206)
	at org.eclipse.jdt.internal.core.JavaModel.getTarget(JavaModel.java:365)
	at org.eclipse.jdt.internal.core.builder.NameEnvironment.computeClasspathLocations(NameEnvironment.java:96)
	at org.eclipse.jdt.internal.core.builder.NameEnvironment.<init>(NameEnvironment.java:38)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.initializeBuilder(JavaBuilder.java:486)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:132)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:570)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
	at org.eclipse.core.runtime.Platform.run(Platform.java:747)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:159)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:251)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:204)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:231)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
	at org.eclipse.core.runtime.Platform.run(Platform.java:747)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:234)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:270)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:299)
	at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:198)
	at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension.runEarDeploy(BatchExtension.java:366)
	at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension.access$0(BatchExtension.java:304)
	at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension$RunDeploy.run(BatchExtension.java:287)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1673)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1693)
	at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension$RunDeploy.execute(BatchExtension.java:271)
	at com.ibm.etools.ejbdeploy.batch.plugin.BatchExtension.run(BatchExtension.java:234)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
	at java.lang.reflect.Method.invoke(Method.java:391)
	at com.ibm.etools.ejbdeploy.batch.impl.BootLoaderLoader.run(BootLoaderLoader.java:412)
	at com.ibm.etools.ejbdeploy.batch.impl.BatchDeploy.execute(BatchDeploy.java:144)
	at com.ibm.etools.ejbdeploy.EJBDeploy.execute(EJBDeploy.java:83)
	at com.ibm.etools.ejbdeploy.EJBDeploy.main(EJBDeploy.java:313)
3.


More information:
Comment 1 Bala Balakumran CLA 2007-06-01 16:16:35 EDT
Created attachment 69785 [details]
workspace that produced the error
Comment 2 Bala Balakumran CLA 2007-06-01 16:32:33 EDT
This is the line code in our app calling the builder which produces 
a core exception from jdt build manager.

try
        {
               ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, progressMonitor);
        }
        catch (CoreException e)
        {
Comment 3 Jerome Lanneluc CLA 2007-06-02 05:36:43 EDT

*** This bug has been marked as a duplicate of bug 114571 ***
Comment 4 Ting Zhao CLA 2007-06-04 12:05:56 EDT
Please has the fix also on top of eclipse 3.0.2 for WAS602. The installation of our product failed on redhat because this bug, and we have no workaround of it.
Thanks,