Re: [VOTE] Release Apache Tomcat 9.0.121
Rainer Jung <[email protected]>
| Newsgroups | gmane.comp.jakarta.tomcat.devel |
|---|---|
| Message-ID | <[email protected]> |
I fixed the simple one (TestDataSourceUserDatabase). Concerning TestWithoutClustering: I verified, that the class package for StoreRegistry is null in the static initializer. The class gets loaded by the custom class loader StoreConfigIsolatingClassLoader in TestWithoutClustering, but I couldn't see anything obviously wrong with it. Problem is still there, but as said, only with Java 8 (501 / 502; not tested with older patch levels). Best regards, Rainer Am 13.08.26 um 04:30 schrieb Rainer Jung: > One adddition inline > > Am 13.08.26 um 04:28 schrieb Rainer Jung: >> Hmmm, I see two test failures. >> >> The first one IMHO not a show-stopper, just a missing Assume in the >> new test: >> >> org.apache.catalina.users.TestDataSourceUserDatabase >> >> Testcase: testMinimalUserRoleDatabase took 0.265 sec >> Caused an ERROR >> org/apache/derby/jdbc/EmbeddedDriver has been compiled by a more >> recent version of the Java Runtime (class file version 61.0), this >> version of the Java Runtime only recognizes class file versions up to >> 52.0 >> java.lang.UnsupportedClassVersionError: org/apache/derby/jdbc/ >> EmbeddedDriver has been compiled by a more recent version of the Java >> Runtime (class file version 61.0), this version of the Java Runtime >> only recognizes class file versions up to 52.0 >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:756) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) >> at java.net.URLClassLoader.access$100(URLClassLoader.java:74) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:369) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:363) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:362) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:418) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:351) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:264) >> at >> org.apache.catalina.users.TestDataSourceUserDatabase$DerbyUserDatabase.open(TestDataSourceUserDatabase.java:109) >> at >> org.apache.catalina.users.TestDataSourceUserDatabase.testMinimalUserRoleDatabase(TestDataSourceUserDatabase.java:130) >> >> >> Derby 16 is listed on their download page to support Java 17+. All >> other Derby tests assume java 16: >> >> Assume.assumeTrue(JreCompat.isJre16Available()); >> >> but testMinimalUserRoleDatabase() added on Jul 10 in >> 287f203bab1b6d43618bdb7b14654f6f7d276220 doesn't have it. >> >> >> About the second one, I am not so sure: >> >> org.apache.catalina.startup.TestWithoutClustering > > Curently my test farm is still working on Java 8. So this might be Java > 8 specific, and it is the latest patch level of it. Will know more later > today. > >> Testcase: testStoreRegistryWithoutClustering took 0.029 sec >> Caused an ERROR >> null >> java.lang.ExceptionInInitializerError >> at >> java.lang.reflect.Constructor.newInstance(Constructor.java:423) >> at >> org.apache.catalina.startup.TestWithoutClustering.testStoreRegistryWithoutClustering(TestWithoutClustering.java:313) >> Caused by: java.lang.NullPointerException >> at >> org.apache.tomcat.util.res.StringManager.getManager(StringManager.java:186) >> at >> org.apache.catalina.storeconfig.StoreRegistry.<clinit>(StoreRegistry.java:50) >> >> There seems to be no relevant change around StoreRegistry or >> StringManager and the pattern seems to be used the same way in many >> places. If seems the class StoreRegistry is incomplete during its >> static initializers and getPackage() may return null, but why didn't I >> see this anywhere before? >> >> Probably also not a showstopper, because StoreConfig is likely not >> used a lot. >> >> Best regards, >> >> Rainer >> >> Am 12.08.26 um 22:08 schrieb Rémy Maucherat: >>> The proposed Apache Tomcat 9.0.121 release is now available for voting. >>> >>> The notable changes compared to 9.0.120 are: >>> >>> - Add a new attribute to the Context, urlPatternsProvidedInDecodedForm. >>> This attribute controls whether URLs and URL patterns provided in >>> the >>> deployment descriptor (web.xml), annotations and/or their >>> programmatic >>> equivalents are treated as being provided in URL-encoded form (i.e. >>> using %nn encoding) or in decoded form. The Servlet specification >>> requires that they are provided in decoded form. However, Tomcat has >>> historically treated them as if they are provided in encoded >>> form. In >>> Tomcat 12, they will always be treated as if they are provided in >>> decoded form. This setting enables migration from encoded form to >>> decoded form on an application by application basis. This attribute >>> will be removed in Tomcat 12 where it will effectively be hard-coded >>> to true. >>> - Require every HTTP/2 request to provide an authority (either an >>> :authority pseudo header or a Host header) >>> - Change the default encryptionAlgorithm for the EncryptInterceptor to >>> AES/GCM/NoPadding. This is a breaking change for the >>> EncryptInterceptor. >>> >>> For full details, see the changelog: >>> https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html >>> >>> It can be obtained from: >>> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.121/ >>> >>> The Maven staging repo is: >>> https://repository.apache.org/content/repositories/orgapachetomcat-1601 >>> >>> The tag is: >>> https://github.com/apache/tomcat/tree/9.0.121 >>> dc00a53100b38c8eb8befce5855e3b152eed9353 >>> >>> The proposed 9.0.121 release is: >>> [ ] -1, Broken - do not release >>> [ ] +1, Stable - go ahead and release as 9.0.121 >>> >>> Rémy