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

Reply via email to