On 18/06/2026 01:26, Christopher Schultz wrote:
Mark,
I got an exception the first time around running this test:
Testcase: testMissingClientCertificate took 1.199 sec
Caused an ERROR
Unexpected exception, expected<javax.net.ssl.SSLHandshakeException> but
was<java.net.SocketException>
java.lang.Exception: Unexpected exception,
expected<javax.net.ssl.SSLHandshakeException> but
was<java.net.SocketException>
Caused by: java.net.SocketException: Broken pipe
at java.base/sun.nio.ch.SocketDispatcher.write0(Native Method)
at java.base/
sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:65)
at java.base/
sun.nio.ch.NioSocketImpl.tryWrite(NioSocketImpl.java:402)
at java.base/
sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:418)
at java.base/
sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:448)
at java.base/
sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:821)
at java.base/
java.net.Socket$SocketOutputStream.implWrite(Socket.java:1086)
at java.base/
java.net.Socket$SocketOutputStream.write(Socket.java:1076)
at java.base/
sun.security.ssl.SSLSocketOutputRecord.encodeChangeCipherSpec(SSLSocketOutputRecord.java:231)
at java.base/
sun.security.ssl.OutputRecord.changeWriteCiphers(OutputRecord.java:187)
at java.base/
sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecProducer.produce(ChangeCipherSpec.java:115)
at java.base/
sun.security.ssl.Finished$T12FinishedProducer.onProduceFinished(Finished.java:391)
at java.base/
sun.security.ssl.Finished$T12FinishedProducer.produce(Finished.java:375)
at java.base/
sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:465)
at java.base/
sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(ServerHelloDone.java:182)
at java.base/
sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:421)
at java.base/
sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:477)
at java.base/
sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:448)
at java.base/
sun.security.ssl.TransportContext.dispatch(TransportContext.java:199)
at java.base/
sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
at java.base/
sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)
at java.base/
sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421)
at java.base/
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455)
at java.base/
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426)
at java.base/
sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:483)
at java.base/
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187)
at java.base/
sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:141)
at
org.apache.catalina.startup.TomcatBaseTest.methodUrl(TomcatBaseTest.java:708)
at
org.apache.catalina.startup.TomcatBaseTest.methodUrl(TomcatBaseTest.java:682)
at
org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:676)
at
org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:670)
at
org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:655)
at
org.apache.catalina.startup.TomcatBaseTest.getUrl(TomcatBaseTest.java:649)
at
org.apache.tomcat.util.net.TestSslHandshakeFailure.testMissingClientCertificate(TestSslHandshakeFailure.java:79)
at java.base/
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... but I re-ran the test and it passed.
This was specifically for NIO2 and not the NIO test.
My machine did sleep the display while the tests were running, and I've
had weird network things happen in the past even if the machine doesn't
"really" go to sleep.
WDYT?
I'm not concerned.
There are quite a few places where the tests have to catch a variety of
exceptions either because different connectors report different
exceptions for the same error or because one connector (and NIO2 is a
particular culprit here) can report different errors depending on exact
timing. Add in that I too have seen all sorts of strange timing issues
when any sort of power saving kicks in (or the machine is too busy, etc)
and I think this just needs a modification to the test to expect either
exception.
I'll adjust the test.
Mark
-chris
On 6/17/26 6:19 PM, Mark Thomas wrote:
The proposed Apache Tomcat 11.0.23 release is now available for voting.
The notable changes compared to 11.0.22 include:
- 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.
For full details, see the change log:
https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html
Applications that run on Tomcat 9 and earlier will not run on Tomcat
11 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. Applications using deprecated APIs may
require further changes.
It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.23/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1594
The tag is:
https://github.com/apache/tomcat/tree/11.0.23
b5c1bba61f2e54875bd6d538ae145fffd7b217a8
The proposed 11.0.23 release is:
[ ] -1 Broken - do not release
[ ] +1 Stable - go ahead and release as 11.0.23
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]