<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Sorry for the noise but is there any update ? The bug makes it “impossible” for us to enable caching by default as it may cause issues on the remote peer which are hard to debug.<div class=""><br class=""></div><div class="">Bye</div><div class="">Norman</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 19. Mar 2021, at 16:34, Jamil Nimeh <<a href="mailto:jamil.j.nimeh@oracle.com" class="">jamil.j.nimeh@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
<div class=""><p class="">Hi Norman, I've been working a couple other bugs, but I should
have some time to devote to it next week.</p><p class="">--Jamil<br class="">
</p>
<div class="moz-cite-prefix">On 3/19/2021 6:15 AM, Norman Maurer
wrote:<br class="">
</div>
<blockquote type="cite" cite="mid:C80026B7-8534-4107-988F-6E4BA0D55A09@googlemail.com" class="">
<div dir="ltr" class="">I was wondering if there is any update or anything
I can help with ?</div>
<div dir="ltr" class=""><br class="">
</div>
<div dir="ltr" class="">Bye</div>
<div dir="ltr" class="">Norman </div>
<div dir="ltr" class=""><br class="">
<blockquote type="cite" class="">Am 04.03.2021 um 18:51 schrieb Jamil
Nimeh <a class="moz-txt-link-rfc2396E" href="mailto:jamil.j.nimeh@oracle.com"><jamil.j.nimeh@oracle.com></a>:<br class="">
<br class="">
</blockquote>
</div>
<blockquote type="cite" class="">
<div dir="ltr" class="">
<p class="">I already replied to Norman directly (because apparently I
cannot seem to find my Reply-all button before my morning
caffeine!). It does look quite a bit like <span class="">8241248
and that issue is in my bug queue. I haven't started work
on it yet, but now that Norman has provided me some links
to a reproducer I can give it a spin and see if I can make
the bug happen locally (Thanks Norman!)<br class="">
</span></p><p class=""><span class="">--Jamil<br class="">
</span></p>
<div class="moz-cite-prefix">On 3/4/2021 8:22 AM, Xue-Lei Fan
wrote:<br class="">
</div>
<blockquote type="cite" cite="mid:6FA18978-A4E5-48AA-80D7-3F4C265B227E@oracle.com" class="">
<div class="">Forward to security-dev.</div>
<div class=""><br class="">
</div>
<div class="">Xuelei<br class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Mar 4, 2021, at 6:11 AM, Norman
Maurer <<a href="mailto:norman.maurer@googlemail.com" class="" moz-do-not-send="true">norman.maurer@googlemail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word;
-webkit-nbsp-mode: space; line-break:
after-white-space;" class=""> Hi there,
<div class=""><br class="">
</div>
<div class="">I think I found a bug in the TLSv1.3
session cache implementation which sometimes can
cause failures during session resumption. </div>
<div class="">The cause of this sometimes show up
as NPE:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">javax.net.ssl.SSLException:
Session has no PSK</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:336)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:292)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:283)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.PreSharedKeyExtension.checkBinder(PreSharedKeyExtension.java:537)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeyUpdate.consume(PreSharedKeyExtension.java:528)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLExtension.consumeOnTrade(SSLExtension.java:583)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLExtensions.consumeOnTrade(SSLExtensions.java:222)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:539)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1234)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1170)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:852)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:813)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1074)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1061)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/java.security.AccessController.doPrivileged(Native Method)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1008)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1557)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1571)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1455)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1282)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1329)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:447)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/java.lang.Thread.run(Thread.java:834)</div>
<div class="">java.lang.NullPointerException</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.HKDF.extract(HKDF.java:93)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.HKDF.extract(HKDF.java:119)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ServerHello.setUpPskKD(ServerHello.java:1169)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:547)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1234)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1170)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:852)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:813)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1074)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1061)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/java.security.AccessController.doPrivileged(Native Method)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1008)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1557)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1571)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1455)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1282)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1329)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:447)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/java.lang.Thread.run(Thread.java:834)</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Other times the NPE is not included
but it still fails with something like:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">Caused by:
javax.net.ssl.SSLException: Session has no PSK</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:336)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:292)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:283)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.PreSharedKeyExtension.checkBinder(PreSharedKeyExtension.java:537)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeyUpdate.consume(PreSharedKeyExtension.java:528)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLExtension.consumeOnTrade(SSLExtension.java:583)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLExtensions.consumeOnTrade(SSLExtensions.java:222)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:539)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1234)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1170)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:852)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:813)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1074)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1061)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/java.security.AccessController.doPrivileged(Native Method)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1008)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1557)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1571)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1455)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1282)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1329)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:447)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>...
17 common frames omitted</div>
</div>
<div class=""><br class="">
</div>
<div class="">Looking at the first stacktrace this
seems to be related to:</div>
<div class=""><br class="">
</div>
<div class=""><a href="https://bugs.openjdk.java.net/browse/JDK-8241248" class="" moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-8241248</a></div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Unfortunately I don’t have a
reproducer which uses the JDK only here but I
can reproduce this with Netty that uses OpenSSL
on the client side and the JDK SSLEngine on the
server side.</div>
<div class="">I can reproduce this with the latest
JDK11 release but can't with JDK15. Also what
makes me believe it may be a concurrency bug is
that only some handshakes fail. Like 70 out of
2600 fail.</div>
<div class=""><br class="">
</div>
<div class="">While the reproducer also involves
netty I am wondering if you would still be
interested in it ? It should be quite straight
forward to run locally for you.</div>
<div class=""><br class="">
</div>
<div class="">The code that can reproduce it is
here:</div>
<div class=""><a href="https://urldefense.com/v3/__https://github.com/netty/netty/pull/10994*issuecomment-787976965__;Iw!!GqivPVa7Brio!MszdHm37EKgxWsuqHbmrEM6R16CYCNv4P7cdniOnnQLn8GlqD7Id0KfLEI9ZlbLT9VU$" class="" moz-do-not-send="true">https://github.com/netty/netty/pull/10994#issuecomment-787976965</a></div>
<div class=""><br class="">
</div>
<div class="">Also you will need to use this
branch:</div>
<div class=""><a href="https://urldefense.com/v3/__https://github.com/netty/netty/tree/ssl_cache_revamp__;!!GqivPVa7Brio!MszdHm37EKgxWsuqHbmrEM6R16CYCNv4P7cdniOnnQLn8GlqD7Id0KfLEI9ZN3cXhdo$" class="" moz-do-not-send="true">https://github.com/netty/netty/tree/ssl_cache_revamp</a></div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Please don’t hesitate if you have
questions,</div>
<div class="">Norman</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</blockquote>
</div>
</blockquote>
</blockquote>
</div>
</div></blockquote></div><br class=""></div></body></html>