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
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]