r998053 http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java Data race on variable private Map parameters In method private void mergeParameters() { if (parameters != null) // concurrent read : 881 return; Map results = new ConcurrentHashMap(); ... parameters = results; // concurrent write : 897 }
The best way to fix this is probably to do the merge in the startup lifecycle (probably near the end of StandardContext.startInternal) and set the parameters into the ApplicationContext. (ApplicationContext is constructed and used before local application parameters are added in the lifecycle)
Fixed in trunk and will be included in 7.0.4 onwards. Proposed for 6.0.x
Fixed in 6.0.x and will be included in 6.0.30 onwards.