Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 306930 - org.eclipse.pde.internal.core.bundle.Bundle not thread safe
Summary: org.eclipse.pde.internal.core.bundle.Bundle not thread safe
Status: CLOSED DUPLICATE of bug 305429
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.6   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-24 07:47 EDT by Gary Karasiuk CLA
Modified: 2010-03-24 09:11 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gary Karasiuk CLA 2010-03-24 07:47:56 EDT
I hit the following ConcurrentModificationException while running a build. (This was while using a adopting product). 

The Bundle class allows access to the fProperties Map in a way that is not thread safe.

eclipse.buildId=unknown
java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr8-20100312_55146 (JIT enabled, AOT enabled)
J9VM - 20100312_055146
JIT  - r9_20100309_15074
GC   - 20100308_AA
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86 -data \ws\542


Error
Mon Mar 22 08:16:44 EDT 2010
Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".

While running performance scenario 542 ( https://wsperf3.torolab.ibm.com/StudioPerf/servlet/DisplayScenario?testd=542 ), the follow exception occurred during build:

java.util.ConcurrentModificationException
    at java.util.TreeMap$AbstractMapIterator.makeNext(Unknown Source)
    at java.util.TreeMap$UnboundedEntryIterator.next(Unknown Source)
    at java.util.TreeMap$UnboundedEntryIterator.next(Unknown Source)
    at org.eclipse.pde.internal.core.bundle.BundleModel.load(Unknown Source)
    at org.eclipse.pde.internal.core.WorkspaceModelManager.loadModel(Unknown Source)
    at org.eclipse.pde.internal.core.WorkspacePluginModelManager.createModel(Unknown Source)
    at org.eclipse.pde.internal.core.WorkspaceModelManager.initialize(Unknown Source)
    at org.eclipse.pde.internal.core.WorkspacePluginModelManager.getPluginModels(Unknown Source)
    at org.eclipse.pde.internal.core.PluginModelManager.initializeTable(Unknown Source)
    at org.eclipse.pde.internal.core.PluginModelManager.findModel(Unknown Source)
    at org.eclipse.pde.core.plugin.PluginRegistry.findModel(Unknown Source)
    at org.eclipse.pde.internal.core.builders.BuildErrorReporter.validateMissingLibraries(Unknown Source)
    at org.eclipse.pde.internal.core.builders.BuildErrorReporter.validateBuild(Unknown Source)
    at org.eclipse.pde.internal.core.builders.BuildErrorReporter.validate(Unknown Source)
    at org.eclipse.pde.internal.core.builders.ErrorReporter.validateContent(Unknown Source)
    at org.eclipse.pde.internal.core.builders.ManifestConsistencyChecker.validateBuildProperties(Unknown Source)
    at org.eclipse.pde.internal.core.builders.ManifestConsistencyChecker.validateProject(Unknown Source)
    at org.eclipse.pde.internal.core.builders.ManifestConsistencyChecker.build(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager$2.run(Unknown Source)
    at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager$1.run(Unknown Source)
    at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.build(Unknown Source)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(Unknown Source)
    at org.eclipse.core.internal.events.AutoBuildJob.run(Unknown Source)
    at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
Comment 1 Darin Wright CLA 2010-03-24 09:11:53 EDT

*** This bug has been marked as a duplicate of bug 305429 ***