Author: markt Date: Thu Mar 29 19:28:30 2018 New Revision: 1828016 URL: http://svn.apache.org/viewvc?rev=1828016&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62224 Disable the forkJoinCommonPoolProtection of the JreMemoryLeakPreventionListener when running on Java 9 and above since the underlying JRE bug has been fixed.
Modified: tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/listeners.xml Modified: tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java?rev=1828016&r1=1828015&r2=1828016&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java Thu Mar 29 19:28:30 2018 @@ -349,9 +349,10 @@ public class JreMemoryLeakPreventionList } /* - * Present in Java 8 onwards + * Present in Java 7 onwards + * Fixed in Java 9 (from early access build 156) */ - if (forkJoinCommonPoolProtection) { + if (forkJoinCommonPoolProtection && !JreCompat.isJre9Available()) { // Don't override any explicitly set property if (System.getProperty(FORK_JOIN_POOL_THREAD_FACTORY_PROPERTY) == null) { System.setProperty(FORK_JOIN_POOL_THREAD_FACTORY_PROPERTY, Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1828016&r1=1828015&r2=1828016&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Mar 29 19:28:30 2018 @@ -108,6 +108,11 @@ must be sent in order of increasing stream ID. These restriction were not being enforced leading to protocol errors at the client. (markt) </fix> + <add> + <bug>62224</bug>: Disable the <code>forkJoinCommonPoolProtection</code> + of the <code>JreMemoryLeakPreventionListener</code> when running on Java + 9 and above since the underlying JRE bug has been fixed. (markt) + </add> </changelog> </subsection> <subsection name="Web applications"> Modified: tomcat/trunk/webapps/docs/config/listeners.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/listeners.xml?rev=1828016&r1=1828015&r2=1828016&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/config/listeners.xml (original) +++ tomcat/trunk/webapps/docs/config/listeners.xml Thu Mar 29 19:28:30 2018 @@ -212,7 +212,8 @@ <code>java.util.concurrent.ForkJoinPool.common.threadFactory</code> system property. If this property is set when Tomcat starts, Tomcat will not over-ride it even if this protection is explicitly enabled. The - default is <code>true</code>.</p> + default is <code>true</code>. This protection is disabled if running on + Java 9 onwards since the leak has been fixed for Java 9 onwards.</p> </attribute> <attribute name="gcDaemonProtection" required="false"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org