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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.