Am 18.06.26 um 01:44 schrieb Christopher Schultz:
The proposed Apache Tomcat 10.1.56 release is now available for
voting.
All committers and PMC members are kindly requested to provide a vote if
possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are
binding. We welcome non-committer votes or comments on release builds.
The notable changes compared to 10.1.55 are:
- Align the rewrite conditions ornext flag processing with
mod_rewrite, which follows a purely sequential evaluation
strategy.
- Ensure that malformed HTTP/2 messages that should trigger a
stream reset do so, rather than triggered a connection close.
- Add replay protection to the EncryptInterceptor. This is a
**breaking change** for the EncryptInterceptor. Please see the
migration document for more information.
For full details, see the change log:
https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html
Applications that run on Tomcat 9 and earlier will not run on Tomcat 10
without changes. Java EE applications designed for Tomcat 9 and earlier
may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat
will automatically convert them to Jakarta EE and copy them to the
webapps directory.
It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.56/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1595
The tag is:
https://github.com/apache/tomcat/tree/10.1.56
https://github.com/apache/tomcat/
commit/59f3f1ab4f905f94c9c99cad579d6afb3a935b66
Please reply with a +1 for release or +0/-0/-1 with an explanation.
+1 to release.
Reproducibility of the build checked (including the Windows installer)
using "ant verify-release" on Linux Mint 22.3. OK after setting LANG.
Original Windows installer signature verified with osslsigncode 2.10.
Unit tests ran on platforms
- RHEL 7, 8, 9 and 10 and SLES 12 and 15
using
- recent patch versions of JDK 17, 21, 25, 26 and 27+28 (EA)
- first time also tested with JDK 28 EA
from
- Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and from
OpenJDK for 27
where available.
Also tested with
- tcnative 1.3.8, 2.0.15 and panama
based on
- OpenSSL 3.0.21, 3.5.7, 3.6.3 and 4.0.1 (4.x only for tcnative 2 and
panama)
Test observations:
- not all test runs are done yet, but by far most of them. Only
JDK27+28 and some JDK26 combinations still need to run on RHEL.
- IMHO nothing critical
- one hanging test for JDK 21 in RHEL 7
Two JUnit child processes. I do have thread dumps,
for the stack of the main thread see below
- 15 times SocketException in
org.apache.tomcat.util.net.TestSslHandshakeFailure
always with tcnative, reason SocketException.
Should already be fixed.
- TestOcspSoftFailTryLater 6 failures with JDK 17+ and jsse
- in addition
- a few crashes with tcnative (11 in 856 runs)
- one crash with jsse (123 runs)
- very few failures with jsse (4 in 123 runs)
- very few non-crash-failures with tcnative (2 in 856 runs)
Thanks for RM!
Best regards,
Rainer
Hanging Test
::::::::::::
It hang only once, not reproducible.
"main" #1 [2542] prio=5 os_prio=0 cpu=694.46ms elapsed=104352.86s
tid=0x00007f5ec402d490 nid=2542 runnable [0x00007f5ecbe96000]
java.lang.Thread.State: RUNNABLE
at
sun.nio.ch.UnixFileDispatcherImpl.lock0([email protected]/Native Method)
at
sun.nio.ch.UnixFileDispatcherImpl.lock([email protected]/UnixFileDispatcherImpl.java:99)
at
sun.nio.ch.FileChannelImpl.lock([email protected]/FileChannelImpl.java:1482)
at
java.nio.channels.FileChannel.lock([email protected]/FileChannel.java:1240)
at
org.apache.tomcat.util.net.ocsp.OcspBaseTest.obtainOcspResponderLock(OcspBaseTest.java:54)
at
java.lang.invoke.DirectMethodHandle$Holder.invokeStatic([email protected]/DirectMethodHandle$Holder)
at
java.lang.invoke.LambdaForm$MH/0x00007f5e50024800.invoke([email protected]/LambdaForm$MH)
at
java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
at
jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:153)
at
jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
at
java.lang.reflect.Method.invoke([email protected]/Method.java:580)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at
org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:50)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1197)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1042)
and another process
"main" #1 [2473] prio=5 os_prio=0 cpu=9739.02ms elapsed=104354.63s
tid=0x00007fdbc002d490 nid=2473 runnable [0x00007fdbc95c3000]
java.lang.Thread.State: RUNNABLE
at org.apache.tomcat.jni.Library.terminate(Native Method)
at
org.apache.catalina.core.AprLifecycleListener.terminateAPR(AprLifecycleListener.java:318)
at
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent(AprLifecycleListener.java:298)
at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:115)
at
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:395)
- locked <0x00000000c5d742e8> (a
org.apache.catalina.core.StandardServer)
at
org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
- locked <0x00000000c5d742e8> (a
org.apache.catalina.core.StandardServer)
at org.apache.catalina.startup.Tomcat.destroy(Tomcat.java:474)
at
org.apache.catalina.startup.TomcatBaseTest.tearDown(TomcatBaseTest.java:253)
at
java.lang.invoke.LambdaForm$DMH/0x00007fdb4c094400.invokeVirtual([email protected]/LambdaForm$DMH)
at
java.lang.invoke.LambdaForm$MH/0x00007fdb4c13dc00.invoke([email protected]/LambdaForm$MH)
at
java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
at
jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:153)
at
jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
at
java.lang.reflect.Method.invoke([email protected]/Method.java:580)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at
org.junit.internal.runners.statements.RunAfters.invokeMethod(RunAfters.java:46)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at
org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:50)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1197)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1042)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]