<core-libs-dev> sun.management.Agent: the properties.putAll API may fail with ConcurrentModifcationException on multi-thread scenario
Deven You
youdwei at linux.vnet.ibm.com
Wed Apr 18 06:20:36 UTC 2012
On 04/18/2012 01:34 PM, Mandy Chung wrote:
>
>
> On 4/17/2012 12:33 AM, Deven You wrote:
>>> I think this could still run into CME. System Properties is not a
>>> synchronized map and the setter methods (System.setProperty or
>>> Properties.put method) doesn't synchronize on the Properties object.
>>>
>> Hi Mandy,
>>
>> I didn't catch you. Do you mean there are other setter methods of
>> System properties in the Agent.java which are not synchronized?
>
> The setter methods I'm referring to are System.setProperty and
> System.getProperties().put().
>
> Mandy
>
Hi Mandy,
I have gone through the Agent.java, I think other set/put methods
related to properties are protected properly.
public static void agentmain using parseString(args) which return a
properties which is a local var and is not possible to cause concurrent
problem when call config_props.putAll(arg_props).
private static synchronized void startLocalManagementAgent() is
synchronized already.
private static synchronized void startRemoteManagementAgent(String
args) is synchronized also.
Could you point where the CME may ocurr?
Thanks a lot!
--
Best Regards,
Deven
More information about the core-libs-dev
mailing list