![]() |
|
|
|
|
Change By:
|
Jörg Schaible
(18/Oct/13 1:30 AM)
|
|
Description:
|
Hi,
We ran a dynamic race detector on Xstream-1.4.5 and found a real data race on the variable pureJavaReflectionProvider in class com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter. An instance of this class's subclass can be shared by multiple threads, and the read and write accesses to pureJavaReflectionProvider at lines 507 and 508 in the method writeValueToImplicitCollection are not properly synchronized, which can be executed by different threads concurrently.
{code}
488 private void writeValueToImplicitCollection(Object value, Map implicitCollections, Object result, String implicitFieldName) { ... 507 if (pureJavaReflectionProvider == null) { 508 pureJavaReflectionProvider = new PureJavaReflectionProvider(); 509 }
{code}
However, I am not sure whether this race is intentional or not. It could be benign if new PureJavaReflectionProvider() has no side effect. But it's good to report it here anyway.
Jeff
|
|
|
|
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
|
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email