Re: [VOTE] Release Apache Tomcat 10.1.58
Rainer Jung <[email protected]>
| Newsgroups | gmane.comp.jakarta.tomcat.devel |
|---|---|
| Message-ID | <[email protected]> |
Oups, already reported. Sorry for the noise. Am 13.08.26 um 18:45 schrieb Rainer Jung: > Hi Chris an all, > > Am 13.08.26 um 14:29 schrieb Christopher Schultz: >> The proposed Apache Tomcat 10.1.58 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.57 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 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.58/ >> >> The Maven staging repo is: >> https://repository.apache.org/content/repositories/orgapachetomcat-1602 >> >> The tag is: >> https://github.com/apache/tomcat/tree/10.1.58 >> https://github.com/apache/tomcat/ >> commit/96f28aed7efb331abb67b55319072e9de3240e6f >> >> Please reply with a +1 for release or +0/-0/-1 with an explanation. > just a quick heads-up: I see test failures on Java 11 in > TestAsyncContextImpl (NIO and NIO2). I did not see them for TC 9 and 11. > > Example: > > Testcase: testAsyncRequestURI_25 took 2.2 sec > Caused an ERROR > Unexpected end of file from server > java.net.SocketException: Unexpected end of file from server > at java.base/ > sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:917) > at java.base/ > sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:724) > at java.base/ > sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:914) > at java.base/ > sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:724) > at java.base/ > sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1654) > at java.base/ > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1559) > at java.base/ > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527) > at > org.apache.catalina.startup.TomcatBaseTest.methodUrl(TomcatBaseTest.java:706) > at > org.apache.catalina.startup.TomcatBaseTest.methodUrl(TomcatBaseTest.java:679) > at > org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:673) > at > org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:667) > at > org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:652) > at > org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:646) > at > org.apache.catalina.core.TestAsyncContextImpl.doTestAsyncRequestURI(TestAsyncContextImpl.java:2238) > at > org.apache.catalina.core.TestAsyncContextImpl.testAsyncRequestURI_25(TestAsyncContextImpl.java:2220) > at java.base/ > jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at java.base/ > jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at java.base/ > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > and in the test logs: > > 13-Aug-2026 18:12:38.029 SEVERE [http-nio2-127.0.0.1-auto-61-exec-1] > org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() > for servlet [bug57559] in context with path [] threw exception > java.lang.IllegalArgumentException: Failed to decode [/foo/%/ > bar] because the % character must be followed by two hexadecimal digits > at > org.apache.tomcat.util.buf.UDecoder.URLDecode(UDecoder.java:344) > at > org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:380) > at > org.apache.catalina.core.ApplicationContextFacade.getRequestDispatcher(ApplicationContextFacade.java:213) > at > org.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:278) > at > org.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:257) > at > org.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:249) > at > org.apache.catalina.core.TestAsyncContextImpl$AsyncRequestUriServlet.doGet(TestAsyncContextImpl.java:2255) > > ... > > 13-Aug-2026 18:12:38.040 SEVERE [http-nio2-127.0.0.1-auto-61-exec-1] > org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error > reading request, ignored > java.lang.IllegalStateException: Calling [asyncPostProcess()] > is not valid for a request with Async state [MUST_ERROR] > at > org.apache.coyote.AsyncStateMachine.asyncPostProcess(AsyncStateMachine.java:302) > at > org.apache.coyote.AbstractProcessor.asyncPostProcess(AbstractProcessor.java:224) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:91) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1307) > at > org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1676) > > ... > > 13-Aug-2026 18:12:38.049 INFO [http-nio2-127.0.0.1-auto-61-exec-1] > org.apache.catalina.connector.CoyoteAdapter.checkRecycled Encountered a > non-recycled request and recycled it forcedly. > > org.apache.catalina.connector.CoyoteAdapter$RecycleRequiredException > at > org.apache.catalina.connector.CoyoteAdapter.checkRecycled(CoyoteAdapter.java:526) > at > org.apache.coyote.http11.Http11Processor.recycle(Http11Processor.java:1462) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:1515) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1459) > at > org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1676) > > ... > > and then a few milliseconds later the same three exceptions again. > > Best regards, > > Rainer >