Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jetty with Conscrypt unable to handle any HTTPS requests when connected by IP rather than hostname. #6159

Closed
Ampflower opened this issue Apr 12, 2021 · 7 comments · Fixed by #6242
Assignees

Comments

@Ampflower
Copy link

Jetty version
Embedded Jetty 11.0.2 with the following modules: jetty-server, jetty-alpn-server, jetty-alpn-conscrypt-server, http2-server, including their dependencies. Conscrypt was added into security providers via java.security.Security.insertProviderAt(new org.conscrypt.OpenSSLProvider(), 1) before bootstrapping the server.

Java version
AdoptOpenJDK 15.0.2

OS type/version
Arch Linux running Linux 5.11.11-zen1-1-zen. (There is no real version I can give.)

Description
When connecting to Jetty via an IP, i.e., 127.0.0.1 or [::1], it internally NPEs and gives a handshake error rather than trying to continue on, either going onto the page itself, or into an SSL certificate error depending on the client and what certificate was installed on the server.

Note, this only happens with Conscrypt Alpn (jetty-alpn-conscrypt-server). Replacing the module with Java Alpn (jetty-alpn-java-server) handles the raw IP connection fine, resulting, at least in my case, in an SSL certificate error as expected.

Server bootstrap (is in Kotlin)
val httpsPort = 7443
val httpPort = 7080
val keystore = "keystore"
val keystorePassword = "Best not to keep it in code, yes?"

val server = Server()

val httpsConfig = HttpConfiguration()
httpsConfig.securePort = httpsPort
httpsConfig.addCustomizer(SecureRequestCustomizer())

val https11 = HttpConnectionFactory(httpsConfig)
val https2 = HTTP2ServerConnectionFactory(httpsConfig)
val alpn = ALPNServerConnectionFactory()
alpn.defaultProtocol = https11.protocol

val sslContextFactory = SslContextFactory.Server()
sslContextFactory.keyStorePath = keystore
sslContextFactory.setKeyStorePassword(keystorePassword)

val tls = SslConnectionFactory(sslContextFactory, alpn.protocol)

val httpsConnector = ServerConnector(server, tls, alpn, https2, https11)
httpsConnector.port = httpsPort
server.addConnector(httpsConnector)

server.handler = CertificateHandler()

server.start()
The logs.
07:53:02.863 [qtp230835489-21] DEBUG org.eclipse.jetty.io.ManagedSelector - Wakeup ManagedSelector@f5ac9e4{STARTED} id=2 keys=0 selected=0 updates=0
07:53:02.863 [qtp230835489-21] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - queue org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@631e55db startThread=0
07:53:02.863 [qtp230835489-22] DEBUG org.eclipse.jetty.io.ManagedSelector - Selector sun.nio.ch.EPollSelectorImpl@3c4511cb woken with none selected
07:53:02.863 [qtp230835489-22] DEBUG org.eclipse.jetty.io.ManagedSelector - Selector sun.nio.ch.EPollSelectorImpl@3c4511cb woken up from select, 0/0/0 selected
07:53:02.863 [qtp230835489-21] DEBUG org.eclipse.jetty.io.WriteFlusher - ignored: javax.net.ssl.SSLHandshakeException: Cannot invoke "java.util.List.stream()" because the return value of "javax.net.ssl.ExtendedSSLSession.getRequestedServerNames()" is null WriteFlusher@4befb7f7{IDLE}->null
07:53:02.864 [qtp230835489-22] DEBUG org.eclipse.jetty.io.ManagedSelector - Selector sun.nio.ch.EPollSelectorImpl@3c4511cb processing 0 keys, 0 updates
07:53:02.863 [qtp230835489-16] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - run org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@631e55db in QueuedThreadPool[qtp230835489]@dc24521{STARTED,8<=9<=200,i=1,r=-1,q=0}[ReservedThreadExecutor@345965f2{s=1/8,p=0}]
07:53:02.864 [qtp230835489-22] DEBUG org.eclipse.jetty.io.ManagedSelector - updateable 0
07:53:02.864 [qtp230835489-22] DEBUG org.eclipse.jetty.io.ManagedSelector - updates 0
07:53:02.864 [qtp230835489-22] DEBUG org.eclipse.jetty.io.ManagedSelector - Selector sun.nio.ch.EPollSelectorImpl@3c4511cb waiting with 0 keys
07:53:02.864 [qtp230835489-16] DEBUG org.eclipse.jetty.io.ManagedSelector - Destroyed SocketChannelEndPoint@37cd378e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=2/30000}{io=1/1,kio=-1,kro=-1}->SslConnection@6b520bae{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}=>ALPNServerConnection@4acd8e04
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.FillInterest - onFail FillInterest@4c85840e{null}
javax.net.ssl.SSLHandshakeException: Cannot invoke "java.util.List.stream()" because the return value of "javax.net.ssl.ExtendedSSLSession.getRequestedServerNames()" is null
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.handshakeFailed(SslConnection.java:925)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:785)
	at org.eclipse.jetty.server.NegotiatingServerConnection.fill(NegotiatingServerConnection.java:147)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:92)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:378)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.stream()" because the return value of "javax.net.ssl.ExtendedSSLSession.getRequestedServerNames()" is null
	at org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager.chooseServerAlias(SniX509ExtendedKeyManager.java:118)
	at org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager.chooseEngineServerAlias(SniX509ExtendedKeyManager.java:202)
	at org.conscrypt.ConscryptEngine.chooseServerAlias(ConscryptEngine.java:1695)
	at org.conscrypt.NativeSsl.configureServerCertificate(NativeSsl.java:369)
	at org.conscrypt.ConscryptEngine.serverCertificateRequested(ConscryptEngine.java:1597)
	at org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
	at org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:567)
	at org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1097)
	at org.conscrypt.ConscryptEngine.readPlaintextDataHeap(ConscryptEngine.java:1117)
	at org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1089)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:878)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:749)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:714)
	at org.conscrypt.Java8EngineWrapper.unwrap(Java8EngineWrapper.java:236)
	at org.eclipse.jetty.io.ssl.SslConnection.unwrap(SslConnection.java:391)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:684)
	... 17 common frames omitted
07:53:02.864 [qtp230835489-16] DEBUG org.eclipse.jetty.io.AbstractConnection - onClose ALPNServerConnection@4acd8e04::DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
07:53:02.864 [qtp230835489-16] DEBUG org.eclipse.jetty.io.AbstractConnection - onClose SslConnection@6b520bae::SocketChannelEndPoint@37cd378e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=2/30000}{io=1/1,kio=-1,kro=-1}->SslConnection@6b520bae{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}=>ALPNServerConnection@4acd8e04
07:53:02.864 [qtp230835489-16] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - ran org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@631e55db in QueuedThreadPool[qtp230835489]@dc24521{STARTED,8<=9<=200,i=1,r=-1,q=0}[ReservedThreadExecutor@345965f2{s=1/8,p=0}]
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.server.NegotiatingServerConnection - Unable to fill from endpoint DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
javax.net.ssl.SSLHandshakeException: Cannot invoke "java.util.List.stream()" because the return value of "javax.net.ssl.ExtendedSSLSession.getRequestedServerNames()" is null
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.handshakeFailed(SslConnection.java:925)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:785)
	at org.eclipse.jetty.server.NegotiatingServerConnection.fill(NegotiatingServerConnection.java:147)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:92)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:378)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.stream()" because the return value of "javax.net.ssl.ExtendedSSLSession.getRequestedServerNames()" is null
	at org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager.chooseServerAlias(SniX509ExtendedKeyManager.java:118)
	at org.eclipse.jetty.util.ssl.SniX509ExtendedKeyManager.chooseEngineServerAlias(SniX509ExtendedKeyManager.java:202)
	at org.conscrypt.ConscryptEngine.chooseServerAlias(ConscryptEngine.java:1695)
	at org.conscrypt.NativeSsl.configureServerCertificate(NativeSsl.java:369)
	at org.conscrypt.ConscryptEngine.serverCertificateRequested(ConscryptEngine.java:1597)
	at org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
	at org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:567)
	at org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1097)
	at org.conscrypt.ConscryptEngine.readPlaintextDataHeap(ConscryptEngine.java:1117)
	at org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1089)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:878)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:749)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:714)
	at org.conscrypt.Java8EngineWrapper.unwrap(Java8EngineWrapper.java:236)
	at org.eclipse.jetty.io.ssl.SslConnection.unwrap(SslConnection.java:391)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:684)
	... 17 common frames omitted
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.AbstractEndPoint - shutdownOutput DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close(null) DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.server.NegotiatingServerConnection - ALPNServerConnection@4acd8e04::DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000} detected close on client side
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.AbstractEndPoint - shutdownOutput DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=10/30000}
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close(null) DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=11/30000}
07:53:02.864 [qtp230835489-21] DEBUG org.eclipse.jetty.io.ssl.SslConnection - <c.onFillable SslConnection@6b520bae::SocketChannelEndPoint@37cd378e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=3/30000}{io=1/1,kio=-1,kro=-1}->SslConnection@6b520bae{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@37262d0e{l=/[0:0:0:0:0:0:0:1]:7443,r=/[0:0:0:0:0:0:0:1]:34608,CLOSED,fill=-,flush=-,to=11/30000}=>ALPNServerConnection@4acd8e04
07:53:02.865 [qtp230835489-21] DEBUG org.eclipse.jetty.util.thread.ReservedThreadExecutor - ReservedThreadExecutor@345965f2{s=2/8,p=0}@35258fbc waiting

Process finished with exit code 130 (interrupted by signal 2: SIGINT)
@gregw
Copy link
Contributor

gregw commented Apr 13, 2021

The NPE at least is a conscrypt issue as the javadoc for javax.net.ssl.ExtendedSSLSession.getRequestedServerNames() says:

     * @return a non-null immutable list of {@link SNIServerName}s of the
     *         requested server name indications. The returned list may be
     *         empty if no server name indications were requested.

So we should not have a null list to deal with. I guess we could put in defence for that, but we'd prefer that conscript respected the contract.... perhaps we should wrap them???

I'll have to take a bit more time to ponder your issue in more depth to make sure it is just the NPE that we need to resolve.

@sbordet
Copy link
Contributor

sbordet commented May 6, 2021

@KJP12 did you submit an issue to Conscrypt about this?

@sbordet
Copy link
Contributor

sbordet commented May 6, 2021

@gregw in that snippet of code we are trying a best effort to pull out the SNI using the JDK APIs; failing that, we pull it out using the Jetty APIs.

Therefore, I think just a null guard is simple enough as we can fall back anyway to use our APIs.
I'll prepare a simple PR.

sbordet added a commit that referenced this issue May 6, 2021
…s when connected by IP rather than hostname.

Added null guard for `ExtendedSSLSession.getRequestedServerNames()`
which should never return null, but it does when using Conscrypt.

Signed-off-by: Simone Bordet <[email protected]>
@sbordet sbordet self-assigned this May 6, 2021
@Ampflower
Copy link
Author

@KJP12 did you submit an issue to Conscrypt about this?

Appears this is fixed upstream already in Conscrypt 2.5.2, although it is throwing a fair bit in the logs about certificate unknown.

The logs
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001) WriteFlusher@1eb4989e{IDLE}->null
16:33:58.724 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - Runner started for QueuedThreadPool[qtp1408652377]@53f65459{STARTED,8<=13<=200,i=0,r=-1,q=0}[ReservedThreadExecutor@5762806e{s=1/8,p=0}]
16:33:58.724 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - run org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@264f6702 in QueuedThreadPool[qtp1408652377]@53f65459{STARTED,8<=13<=200,i=0,r=-1,q=0}[ReservedThreadExecutor@5762806e{s=1/8,p=0}]
16:33:58.724 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ManagedSelector - Destroyed SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=3/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=24/30000}=>HTTP2ServerConnection@1c528c81
16:33:58.723 [qtp1408652377-37] DEBUG org.eclipse.jetty.io.FillInterest - onFail FillInterest@10cdc2bd{null}
javax.net.ssl.SSLHandshakeException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.SSLUtils.toSSLHandshakeException(SSLUtils.java:361)
	at org.conscrypt.ConscryptEngine.convertException(ConscryptEngine.java:1138)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:923)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:751)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:716)
	at org.conscrypt.Java8EngineWrapper.unwrap(Java8EngineWrapper.java:236)
	at org.eclipse.jetty.io.ssl.SslConnection.unwrap(SslConnection.java:391)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:684)
	at org.eclipse.jetty.http2.HTTP2Connection.fill(HTTP2Connection.java:170)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:302)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: javax.net.ssl.SSLProtocolException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
	at org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:567)
	at org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1099)
	at org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1083)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:880)
	... 25 common frames omitted
16:33:58.725 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Connection - HTTP2 Close HTTP2ServerConnection@1c528c81::DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=24/30000} 
16:33:58.725 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.AbstractConnection - onClose HTTP2ServerConnection@1c528c81::DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=24/30000}
16:33:58.725 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Connection - Could not read from DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=24/30000}
javax.net.ssl.SSLHandshakeException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.SSLUtils.toSSLHandshakeException(SSLUtils.java:361)
	at org.conscrypt.ConscryptEngine.convertException(ConscryptEngine.java:1138)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:923)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:751)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:716)
	at org.conscrypt.Java8EngineWrapper.unwrap(Java8EngineWrapper.java:236)
	at org.eclipse.jetty.io.ssl.SslConnection.unwrap(SslConnection.java:391)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:684)
	at org.eclipse.jetty.http2.HTTP2Connection.fill(HTTP2Connection.java:170)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:302)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: javax.net.ssl.SSLProtocolException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
	at org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:567)
	at org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1099)
	at org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1083)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:880)
	... 25 common frames omitted
16:33:58.725 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.component.AbstractLifeCycle - STOPPING HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,NOT_CLOSED,goAwayRecv=null,goAwaySent=null,failure=null]}
16:33:58.725 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Connection - Filled -1 bytes in NetworkBuffer@41a5d259{DirectByteBuffer@1db294eb[p=0,l=0,c=17408,r=0]={<<<>>>\x00\x00\x00\x04\x01\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00},r=1}
16:33:58.725 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Session - Unexpected ISHUT for HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,NOT_CLOSED,goAwayRecv=null,goAwaySent=null,failure=null]}
16:33:58.725 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Session - Halting (stop) for HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSING,goAwayRecv=null,goAwaySent=null,failure=java.nio.channels.ClosedChannelException]}
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Session - Sending GoAwayFrame@260a934b{0/no_error/stop} on HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Appended GoAwayFrame@260a934b{0/no_error/stop}, entries=1
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Flushing HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Processing GoAwayFrame@260a934b{0/no_error/stop}
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Session - Session abort input_shutdown for HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
java.nio.channels.ClosedChannelException: null
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.onShutdown(HTTP2Session.java:1783)
	at org.eclipse.jetty.http2.HTTP2Session.onShutdown(HTTP2Session.java:964)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:319)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Connection - Processing session failure on HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
java.nio.channels.ClosedChannelException: null
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.onShutdown(HTTP2Session.java:1783)
	at org.eclipse.jetty.http2.HTTP2Session.onShutdown(HTTP2Session.java:964)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:319)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Session - Terminating HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Generated 21 frame bytes for GoAwayFrame@260a934b{0/no_error/stop}
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Terminating HTTP2Flusher@45196036[PROCESSING][window_queue=0,frame_queue=0,processed/pending=0/1]
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Session - Disconnecting HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=26/30000}
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close(null) DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=26/30000}
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Writing 1 buffers (21 bytes) - entries processed/pending 1/0: [GoAwayFrame@260a934b{0/no_error/stop}]/[]
16:33:58.726 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.WriteFlusher - write: WriteFlusher@1eb4989e{IDLE}->null [DirectByteBuffer@20f5b195[p=0,l=21,c=1024,r=21]={<<<\x00\x00\x0c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00stop>>>_timeout\x00...\x00\x00\x00\x00\x00\x00\x00}]
16:33:58.726 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Connection - Processing session failure on HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
org.eclipse.jetty.io.EofException: Close no_error/ (input_shutdown)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory$HTTPServerSessionListener.onClose(HTTP2ServerConnectionFactory.java:127)
	at org.eclipse.jetty.http2.HTTP2Session.notifyClose(HTTP2Session.java:1119)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.terminate(HTTP2Session.java:2055)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.lambda$onShutdown$12(HTTP2Session.java:1822)
	at org.eclipse.jetty.util.Callback$4.completed(Callback.java:147)
	at org.eclipse.jetty.util.Callback$Completing.succeeded(Callback.java:272)
	at org.eclipse.jetty.util.Callback$Nested.succeeded(Callback.java:314)
	at org.eclipse.jetty.util.CountingCallback.succeeded(CountingCallback.java:63)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onSessionFailure(HTTP2ServerConnection.java:228)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory$HTTPServerSessionListener.onFailure(HTTP2ServerConnectionFactory.java:134)
	at org.eclipse.jetty.http2.HTTP2Session.notifyFailure(HTTP2Session.java:1144)
	at org.eclipse.jetty.http2.HTTP2Session.onFailure(HTTP2Session.java:559)
	at org.eclipse.jetty.http2.HTTP2Session.abort(HTTP2Session.java:544)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.onShutdown(HTTP2Session.java:1822)
	at org.eclipse.jetty.http2.HTTP2Session.onShutdown(HTTP2Session.java:964)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:319)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.WriteFlusher - update WriteFlusher@1eb4989e{WRITING}->null:IDLE-->WRITING
16:33:58.727 [qtp1408652377-37] DEBUG org.eclipse.jetty.http2.HTTP2Connection - Released NetworkBuffer@41a5d259{DirectByteBuffer@1db294eb[p=0,l=0,c=17408,r=0]={<<<>>>\x00\x00\x00\x04\x01\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00},r=0}
16:33:58.727 [qtp1408652377-37] DEBUG org.eclipse.jetty.io.ssl.SslConnection - <c.onFillable SslConnection@41d8c822::SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=6/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=26/30000}=>HTTP2ServerConnection@1c528c81
16:33:58.727 [qtp1408652377-37] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - ran SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=6/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=26/30000}=>HTTP2ServerConnection@1c528c81:runFillable:BLOCKING in QueuedThreadPool[qtp1408652377]@53f65459{STARTED,8<=13<=200,i=0,r=-1,q=0}[ReservedThreadExecutor@5762806e{s=1/8,p=0}]
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - >flush SslConnection@41d8c822::SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=6/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=26/30000}=>HTTP2ServerConnection@1c528c81
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - flush b[0]=DirectByteBuffer@20f5b195[p=0,l=21,c=1024,r=21]={<<<\x00\x00\x0c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00stop>>>_timeout\x00...\x00\x00\x00\x00\x00\x00\x00}
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - flush NOT_HANDSHAKING
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - wrap Status = CLOSED HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 0 bytesProduced = 0 [p=0,l=0,c=17408,r=0] ioDone=true/true
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - net flushed=true, ac=false
16:33:58.727 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.AbstractEndPoint - shutdownOutput SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=6/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/0,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=27/30000}=>HTTP2ServerConnection@1c528c81
16:33:58.728 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=27/30000} suppressed flush exception
java.io.IOException: Broken pipe
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1081)
	at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:417)
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:272)
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:386)
	at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:280)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
	at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:773)
	at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:745)
	at org.eclipse.jetty.http2.HTTP2Session.control(HTTP2Session.java:727)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAway(HTTP2Session.java:1970)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAwayAndTerminate(HTTP2Session.java:1965)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.halt(HTTP2Session.java:1654)
	at org.eclipse.jetty.http2.HTTP2Session.doStop(HTTP2Session.java:130)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132)
	at org.eclipse.jetty.util.component.LifeCycle.stop(LifeCycle.java:91)
	at org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory$HTTP2SessionContainer.onClosed(AbstractHTTP2ServerConnectionFactory.java:318)
	at org.eclipse.jetty.io.AbstractConnection.onClosed(AbstractConnection.java:242)
	at org.eclipse.jetty.io.AbstractConnection.onClose(AbstractConnection.java:234)
	at org.eclipse.jetty.http2.HTTP2Connection.onClose(HTTP2Connection.java:151)
	at org.eclipse.jetty.io.ssl.SslConnection.onClose(SslConnection.java:340)
	at org.eclipse.jetty.io.SelectorManager.connectionClosed(SelectorManager.java:329)
	at org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(ManagedSelector.java:1101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
16:33:58.728 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.ssl.SslConnection - <flush null SslConnection@41d8c822::SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=7/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=28/30000}=>HTTP2ServerConnection@1c528c81
16:33:58.729 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close(javax.net.ssl.SSLHandshakeException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)) DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=W,to=28/30000}
16:33:58.729 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.WriteFlusher - write exception
javax.net.ssl.SSLHandshakeException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.SSLUtils.toSSLHandshakeException(SSLUtils.java:361)
	at org.conscrypt.ConscryptEngine.convertException(ConscryptEngine.java:1138)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:923)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:751)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:716)
	at org.conscrypt.Java8EngineWrapper.unwrap(Java8EngineWrapper.java:236)
	at org.eclipse.jetty.io.ssl.SslConnection.unwrap(SslConnection.java:391)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:684)
	at org.eclipse.jetty.http2.HTTP2Connection.fill(HTTP2Connection.java:170)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:302)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
	Suppressed: java.io.IOException: Broken pipe
		at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1081)
		at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:417)
		at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:272)
		at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:386)
		at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:280)
		at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
		at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
		at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:773)
		at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:745)
		at org.eclipse.jetty.http2.HTTP2Session.control(HTTP2Session.java:727)
		at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAway(HTTP2Session.java:1970)
		at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAwayAndTerminate(HTTP2Session.java:1965)
		at org.eclipse.jetty.http2.HTTP2Session$StreamsState.halt(HTTP2Session.java:1654)
		at org.eclipse.jetty.http2.HTTP2Session.doStop(HTTP2Session.java:130)
		at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132)
		at org.eclipse.jetty.util.component.LifeCycle.stop(LifeCycle.java:91)
		at org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory$HTTP2SessionContainer.onClosed(AbstractHTTP2ServerConnectionFactory.java:318)
		at org.eclipse.jetty.io.AbstractConnection.onClosed(AbstractConnection.java:242)
		at org.eclipse.jetty.io.AbstractConnection.onClose(AbstractConnection.java:234)
		at org.eclipse.jetty.http2.HTTP2Connection.onClose(HTTP2Connection.java:151)
		at org.eclipse.jetty.io.ssl.SslConnection.onClose(SslConnection.java:340)
		at org.eclipse.jetty.io.SelectorManager.connectionClosed(SelectorManager.java:329)
		at org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(ManagedSelector.java:1101)
		... 3 common frames omitted
Caused by: javax.net.ssl.SSLProtocolException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
	at org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:567)
	at org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1099)
	at org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1083)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:880)
	... 25 common frames omitted
16:33:58.729 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.WriteFlusher - update WriteFlusher@1eb4989e{FAILED}->null:WRITING-->FAILED
16:33:58.729 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Closing, entries processed/pending/queued=1/0/0
javax.net.ssl.SSLHandshakeException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.SSLUtils.toSSLHandshakeException(SSLUtils.java:361)
	at org.conscrypt.ConscryptEngine.convertException(ConscryptEngine.java:1138)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:923)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:751)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:716)
	at org.conscrypt.Java8EngineWrapper.unwrap(Java8EngineWrapper.java:236)
	at org.eclipse.jetty.io.ssl.SslConnection.unwrap(SslConnection.java:391)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.java:684)
	at org.eclipse.jetty.http2.HTTP2Connection.fill(HTTP2Connection.java:170)
	at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:302)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:214)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:123)
	at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:451)
	at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:125)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:523)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:372)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
	Suppressed: java.io.IOException: Broken pipe
		at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1081)
		at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:417)
		at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:272)
		at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:386)
		at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:280)
		at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
		at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
		at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:773)
		at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:745)
		at org.eclipse.jetty.http2.HTTP2Session.control(HTTP2Session.java:727)
		at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAway(HTTP2Session.java:1970)
		at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAwayAndTerminate(HTTP2Session.java:1965)
		at org.eclipse.jetty.http2.HTTP2Session$StreamsState.halt(HTTP2Session.java:1654)
		at org.eclipse.jetty.http2.HTTP2Session.doStop(HTTP2Session.java:130)
		at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132)
		at org.eclipse.jetty.util.component.LifeCycle.stop(LifeCycle.java:91)
		at org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory$HTTP2SessionContainer.onClosed(AbstractHTTP2ServerConnectionFactory.java:318)
		at org.eclipse.jetty.io.AbstractConnection.onClosed(AbstractConnection.java:242)
		at org.eclipse.jetty.io.AbstractConnection.onClose(AbstractConnection.java:234)
		at org.eclipse.jetty.http2.HTTP2Connection.onClose(HTTP2Connection.java:151)
		at org.eclipse.jetty.io.ssl.SslConnection.onClose(SslConnection.java:340)
		at org.eclipse.jetty.io.SelectorManager.connectionClosed(SelectorManager.java:329)
		at org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(ManagedSelector.java:1101)
		... 3 common frames omitted
Caused by: javax.net.ssl.SSLProtocolException: Read error: ssl=0x7f8ef0029578: Failure in SSL library, usually a protocol error
error:10000416:SSL routines:OPENSSL_internal:SSLV3_ALERT_CERTIFICATE_UNKNOWN (../ssl/tls_record.cc:594 0x7f8eec023d88:0x00000001)
	at org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
	at org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:567)
	at org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1099)
	at org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1083)
	at org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:880)
	... 25 common frames omitted
16:33:58.730 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Session - Terminating HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.730 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Flusher - Terminated HTTP2Flusher@45196036[FAILED][window_queue=0,frame_queue=0,processed/pending=0/0]
16:33:58.730 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Session - Disconnecting HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.730 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=F,to=29/30000}
16:33:58.730 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.AbstractEndPoint - close(null) DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=F,to=29/30000}
16:33:58.730 [qtp1408652377-38] DEBUG org.eclipse.jetty.http2.HTTP2Connection - Processing session failure on HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
org.eclipse.jetty.io.EofException: Close no_error/ (stop)
	at org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory$HTTPServerSessionListener.onClose(HTTP2ServerConnectionFactory.java:127)
	at org.eclipse.jetty.http2.HTTP2Session.notifyClose(HTTP2Session.java:1119)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.terminate(HTTP2Session.java:2055)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.lambda$sendGoAwayAndTerminate$16(HTTP2Session.java:1965)
	at org.eclipse.jetty.util.Callback$4.completed(Callback.java:147)
	at org.eclipse.jetty.util.Callback$Completing.failed(Callback.java:278)
	at org.eclipse.jetty.util.Callback$Nested.failed(Callback.java:327)
	at org.eclipse.jetty.http2.HTTP2Flusher$Entry.failed(HTTP2Flusher.java:446)
	at org.eclipse.jetty.http2.HTTP2Flusher.lambda$onCompleteFailure$1(HTTP2Flusher.java:360)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at org.eclipse.jetty.http2.HTTP2Flusher.onCompleteFailure(HTTP2Flusher.java:360)
	at org.eclipse.jetty.util.IteratingCallback.failed(IteratingCallback.java:386)
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:297)
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:386)
	at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:280)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
	at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:773)
	at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:745)
	at org.eclipse.jetty.http2.HTTP2Session.control(HTTP2Session.java:727)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAway(HTTP2Session.java:1970)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAwayAndTerminate(HTTP2Session.java:1965)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.halt(HTTP2Session.java:1654)
	at org.eclipse.jetty.http2.HTTP2Session.doStop(HTTP2Session.java:130)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:132)
	at org.eclipse.jetty.util.component.LifeCycle.stop(LifeCycle.java:91)
	at org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory$HTTP2SessionContainer.onClosed(AbstractHTTP2ServerConnectionFactory.java:318)
	at org.eclipse.jetty.io.AbstractConnection.onClosed(AbstractConnection.java:242)
	at org.eclipse.jetty.io.AbstractConnection.onClose(AbstractConnection.java:234)
	at org.eclipse.jetty.http2.HTTP2Connection.onClose(HTTP2Connection.java:151)
	at org.eclipse.jetty.io.ssl.SslConnection.onClose(SslConnection.java:340)
	at org.eclipse.jetty.io.SelectorManager.connectionClosed(SelectorManager.java:329)
	at org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(ManagedSelector.java:1101)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
16:33:58.731 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.component.AbstractLifeCycle - STOPPED HTTP2ServerSession@37e921e9{local:/127.127.127.127:7443,remote:/127.0.0.1:34130,sendWindow=65535,recvWindow=65535,state=[streams=0,CLOSED,goAwayRecv=null,goAwaySent=GoAwayFrame@260a934b{0/no_error/stop},failure=java.io.IOException: no_error/stop]}
16:33:58.731 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.component.AbstractLifeCycle - STOPPING EatWhatYouKill@3d4b48df/HTTP2Producer@12c4463f/IDLE/p=false/QueuedThreadPool[qtp1408652377]@53f65459{STARTED,8<=13<=200,i=1,r=-1,q=0}[ReservedThreadExecutor@5762806e{s=1/8,p=0}][pc=0,pic=0,pec=0,epc=0]@2021-05-06T16:33:58.731308599-07:00
16:33:58.731 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.component.AbstractLifeCycle - STOPPED EatWhatYouKill@3d4b48df/HTTP2Producer@12c4463f/IDLE/p=false/QueuedThreadPool[qtp1408652377]@53f65459{STARTED,8<=13<=200,i=1,r=-1,q=0}[ReservedThreadExecutor@5762806e{s=1/8,p=0}][pc=0,pic=0,pec=0,epc=0]@2021-05-06T16:33:58.731666516-07:00
16:33:58.731 [qtp1408652377-38] DEBUG org.eclipse.jetty.io.AbstractConnection - onClose SslConnection@41d8c822::SocketChannelEndPoint@3f18de5a{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=-,to=10/30000}{io=0/0,kio=-1,kro=-1}->SslConnection@41d8c822{NOT_HANDSHAKING,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint@70e23df2{l=/127.127.127.127:7443,r=/127.0.0.1:34130,CLOSED,fill=-,flush=F,to=31/30000}=>HTTP2ServerConnection@1c528c81
16:33:58.732 [qtp1408652377-38] DEBUG org.eclipse.jetty.util.thread.QueuedThreadPool - ran org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@264f6702 in QueuedThreadPool[qtp1408652377]@53f65459{STARTED,8<=13<=200,i=1,r=-1,q=0}[ReservedThreadExecutor@5762806e{s=1/8,p=0}]
I'll assume it's most likely because I'm using a self-signed certificate for testing; I don't have a more proper certificate to test with. It does continue as you'd expect however.

I did create one at google/conscrypt#1011, tho, as, well, above, it may be invalid now.

@sbordet
Copy link
Contributor

sbordet commented May 7, 2021

@KJP12 if the latest Conscrypt solves the NPE, great.

As for your issue with the unknown certificate, you seem to be getting this error on the server, so if you are using client certificate authentication it should just be a matter of configuring the server TrustStore.

@Ampflower
Copy link
Author

I'm not using client certificate authentication at all, so, that's odd. It also occurs with the regular Java alpn implementation as well. Perhaps just a non-issue, or an option somewhere?

As for the Conscrypt issue being resolved upstream, perhaps it's fine to close this then?

@sbordet
Copy link
Contributor

sbordet commented May 7, 2021

Please go ahead and close this issue if it's solved for you.

sbordet added a commit that referenced this issue May 7, 2021
…s when connected by IP rather than hostname.

Added null guard for `ExtendedSSLSession.getRequestedServerNames()`
which should never return null, but it does when using Conscrypt.

Signed-off-by: Simone Bordet <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants