RFR 8029891 : Deadlock detected in java/lang/ClassLoader/deadlock/GetResource.java

Mandy Chung mandy.chung at oracle.com
Thu May 14 20:30:51 UTC 2015

On 05/13/2015 01:45 AM, Paul Sandoz wrote:
> On May 12, 2015, at 10:49 PM, Mandy Chung <mandy.chung at oracle.com> wrote:
>> How likely does existing code do this?  A proper way is to call System.setProperty.  One pattern I found on System.setProperties is like this to add a system property of key/value pair:
>> Properties props = System.getProperties();
>> props.put(key, value);
>> System.setProperties(props);
>> More investigation needs to be done (e.g. look at System.setProperties and other system property related APIs and any spec change is needed to be made and the compatibility implication) if we agree that it worths keeping this change local to system properties.
> FWIW you can see some usages here:
> http://grepcode.com/search/usages?type=method&id=repository.grepcode.com%24java%24root@jdk%24openjdk@7u40-b43@java%24lang@System@setProperties%28java.util.Properties%29&k=u


I skimmed on several safe usages before I suggested to consider doing 
something for system properties but the first one on the above link and 
there s another one WriteOnceProperties depending on 
System.setProperties to replace the system Properties object with the 
argument directly.   Definitely if we want to change any behavior, 
careful evaluation on the compatibility is required (maybe we can't 
change it and this is something for the future).


More information about the core-libs-dev mailing list