Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 368706 - ConfigurationElementMulti#getTranslatedAtIndex(...) not thread-safe
Summary: ConfigurationElementMulti#getTranslatedAtIndex(...) not thread-safe
Status: CLOSED DUPLICATE of bug 344696
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 4.2   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: platform-runtime-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-16 07:55 EST by Jens Borrmann CLA
Modified: 2012-01-16 08:40 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Borrmann CLA 2012-01-16 07:55:28 EST
Build Identifier: 3.7

There is a small window of vulnerability in ConfigurationElementMulti#getTranslatedAtIndex(). The issue is not just theoretical but it happened in real life (multi user server-side application using RAP).

There has to be taken care of that there cannot be more than one put()-call into the DirectMap translatedProperties. 

Stacktrace:

java.lang.IllegalArgumentException
	at org.eclipse.core.internal.registry.DirectMap.put(DirectMap.java:44)
	at org.eclipse.core.internal.registry.ConfigurationElementMulti.getTranslatedAtIndex(ConfigurationElementMulti.java:65)
	at org.eclipse.core.internal.registry.ConfigurationElementMulti.getAttribute(ConfigurationElementMulti.java:47)
	at org.eclipse.core.internal.registry.ConfigurationElementMulti.getAttribute(ConfigurationElementMulti.java:111)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.getAttribute(ConfigurationElementHandle.java:34)
	at 
....

Reproducible: Sometimes
Comment 1 Thomas Watson CLA 2012-01-16 08:40:35 EST
(In reply to comment #0)
> Build Identifier: 3.7

Please try with 3.7.1 where this should be fixed.

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