Hi Rory, We added some --add-opens to Tomcat and now the build and tests pass with JDK 16 b28 on both x86_64 and aarch64, Ubuntu 20.04!
https://github.com/apache/tomcat/commit/f42f1899eda28244218bf4d29602bc99574d4486 https://github.com/apache/tomcat/commit/61f4baf64c69c5fd738d34b6139eda4549258cea https://github.com/apache/tomcat/commit/0a2ee9b1ba7ded327c2aa2361cccff6a16cdef84 On Mon, Dec 14, 2020 at 9:52 AM Martin Grigorov <mgrigo...@apache.org> wrote: > Hi Tomcat team, > > The following tests fail on JDK 16 b28: > > [concat] Testsuites with failed tests: > [concat] > TEST-org.apache.catalina.loader.TestWebappClassLoaderExecutorMemoryLeak.APR.txt > [concat] > TEST-org.apache.catalina.loader.TestWebappClassLoaderExecutorMemoryLeak.NIO.txt > [concat] > TEST-org.apache.catalina.loader.TestWebappClassLoaderExecutorMemoryLeak.NIO2.txt > [concat] > TEST-org.apache.catalina.loader.TestWebappClassLoaderMemoryLeak.APR.txt > [concat] > TEST-org.apache.catalina.loader.TestWebappClassLoaderMemoryLeak.NIO.txt > [concat] > TEST-org.apache.catalina.loader.TestWebappClassLoaderMemoryLeak.NIO2.txt > > > with this reason: > > Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > field final java.util.concurrent.ThreadPoolExecutor > java.util.concurrent.ThreadPoolExecutor$Worker.this$0 accessible: module > java.base does not "opens java.util.concurrent" to unnamed module @80503 > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > at > java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177) > at java.base/java.lang.reflect.Field.setAccessible(Field.java:171) > at > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads(WebappClassLoaderBase.java:1798) > at > org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1622) > at > org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1554) > at > org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:461) > at > org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) > > Regards, > Martin > > On Sun, Dec 13, 2020 at 7:08 PM Rory O'Donnell <rory.odonn...@oracle.com> > wrote: > >> Hi Mark, >> >> *Per the JDK 16 schedule , we are in Rampdown Phase One* *[1] . >> * >> >> *Please advise if you find any issues while testing the latest Early >> Access builds.* >> >> * Schedule for JDK 16 >> o *2020/12/10 Rampdown Phase One* >> o 2021/01/14 Rampdown Phase Two >> o 2021/02/04 Initial Release Candidate >> o 2021/02/18 Final Release Candidate >> o 2021/03/16 General Availability >> * Release Notes [2] >> >> OpenJDK 16 Early Access build 28**is now available at >> http://jdk.java.net/16 >> >> * Features - the overall feature set is frozen. No further JEPs will >> be targeted to this release. >> * Significant Integrations in b28: >> o *Integrated JEP 396: **Strongly Encapsulate JDK Internals by >> Default <https://openjdk.java.net/jeps/396>** >> * >> + Strongly encapsulate all internal elements of the JDK by >> default, except for critical internal APIs >> <https://openjdk.java.net/jeps/260#Description> such as >> |sun.misc.Unsafe|. >> + Allow end users to choose the relaxed strong encapsulation >> that has been the default since JDK 9. >> o Integrated JEP 397: Sealed Classes (Second Preview) >> <https://openjdk.java.net/jeps/397> with this release. >> + Enhance the Java programming language with sealed classes >> and interfaces >> <https://cr.openjdk.java.net/~briangoetz/amber/datum.html>. >> + Refines JEP 360 <https://openjdk.java.net/jeps/360> which >> was delivered in JDK 15 as a preview feature. >> >> * These early-access , open-source builds are provided under the GNU >> General Public License, version 2, with the Classpath Exception >> <http://openjdk.java.net/legal/gplv2+ce.html>. >> * Changes in recent builds that maybe of interest: >> o Build 28 >> + JDK-8256299: JEP 396: Strongly Encapsulate JDK Internals by >> Default >> + JDK-8166596: TLS support for the EdDSA signature algorithm >> + JDK-8256718: Old tracing flags are now obsolete and must be >> replaced with unified logging >> o Build 27 >> + JDK-8159746: (proxy) Support for default methods >> + JDK-8254631: Better support ALPN byte wire values in SunJSSE >> >> Project Loom Early-Access: *Build 16-loom+9-316 >> <http://jdk.java.net/loom/>* (2020/11/30) - based on JDK-16+25 >> <https://github.com/openjdk/jdk/releases/tag/jdk-16%2B25> >> >> * These early-access builds are provided under the GNU General Public >> License, version 2, with the Classpath Exception >> <http://openjdk.java.net/legal/gplv2+ce.html> >> * These builds are intended for developers looking to "kick the tyres" >> and provide feedback on using the API or by sending bug reports. >> * Please send feedback via e-mail to loom-...@openjdk.java.net >> <mailto:loom-...@openjdk.java.net>. To send e-mail to this address >> you must first subscribe to the mailing list >> <http://mail.openjdk.java.net/mailman/listinfo/loom-dev>. >> >> Rgds, Rory >> >> [1] >> https://mail.openjdk.java.net/pipermail/jdk-dev/2020-December/004991.html >> [2] https://jdk.java.net/16/release-notes >> >>