Failed to create SSL connection

393 views
Skip to first unread message

Rui Silva

unread,
Aug 23, 2022, 6:59:49 AM8/23/22
to vert.x
Hello!
From time to time, we get some "Failed to create SSL connection" errors and we can't figure out the reason.
It's a small percentage of all HTTP requests we do, but still, a bit annoying.
Do you have any clue, idea or suggestion on why we are getting these errors?
Thanks!

We found 2 patterns:

1 - For some reason the communication channel seems to be closed:

Exception: Failed to create SSL connection
javax.net.ssl.SSLHandshakeException: Failed to create SSL connection
    at io.vertx.core.net.impl.ChannelProvider$1.userEventTriggered(ChannelProvider.java:129) ~[vertx-core.jar:4.3.1]
    at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.handler.ssl.SslUtils.handleHandshakeFailure(SslUtils.java:443) ~[netty-handler.jar:4.1.77.Final]
    at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1883) ~[netty-handler.jar:4.1.77.Final]
    at io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1067) ~[netty-handler.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common.jar:4.1.77.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common.jar:4.1.77.Final]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.nio.channels.ClosedChannelException
    at io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1064) ~[netty-handler.jar:4.1.77.Final]
    ... 16 more
   
2 - For some reason the SSL handshake timeout was triggered (we are using the 10 seconds default):

Exception: Failed to create SSL connection
com.bosch.tt.rst.services.chassis.exception.ServiceException: Failed to create SSL connection
    at com.bosch.tt.rst.services.gateways.boundaries.castt.CasttImpl.lambda$getCasttTokenForCompany$7(CasttImpl.java:137) ~[gateways.jar:?]
    at io.reactivex.rxjava3.internal.operators.single.SingleResumeNext$ResumeMainSingleObserver.onError(SingleResumeNext.java:73) ~[rxjava.jar:?]
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70) ~[rxjava.jar:?]
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70) ~[rxjava.jar:?]
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70) ~[rxjava.jar:?]
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70) ~[rxjava.jar:?]
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnEvent$DoOnEvent.onError(SingleDoOnEvent.java:70) ~[rxjava.jar:?]
    at io.vertx.rxjava3.impl.AsyncResultSingle.lambda$subscribeActual$0(AsyncResultSingle.java:67) ~[vertx-rx-java3-gen.jar:4.3.1]
    at io.vertx.rxjava3.ext.web.client.HttpRequest$6.handle(HttpRequest.java:593) ~[vertx-rx-java3.jar:4.3.1]
    at io.vertx.rxjava3.ext.web.client.HttpRequest$6.handle(HttpRequest.java:588) ~[vertx-rx-java3.jar:4.3.1]
    at io.vertx.ext.web.client.impl.HttpContext.handleFailure(HttpContext.java:386) ~[vertx-web-client.jar:4.3.1]
    at io.vertx.ext.web.client.impl.HttpContext.execute(HttpContext.java:380) ~[vertx-web-client.jar:4.3.1]
    at io.vertx.ext.web.client.impl.HttpContext.next(HttpContext.java:355) ~[vertx-web-client.jar:4.3.1]
    at io.vertx.ext.web.client.impl.HttpContext.fire(HttpContext.java:322) ~[vertx-web-client.jar:4.3.1]
    at io.vertx.ext.web.client.impl.HttpContext.fail(HttpContext.java:303) ~[vertx-web-client.jar:4.3.1]
    at io.vertx.ext.web.client.impl.HttpContext.lambda$handleCreateRequest$6(HttpContext.java:486) ~[vertx-web-client.jar:4.3.1]
    at io.vertx.core.impl.future.FutureImpl$3.onFailure(FutureImpl.java:153) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureBase.lambda$emitFailure$1(FutureBase.java:69) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:87) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.DuplicatedContext.execute(DuplicatedContext.java:179) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureBase.emitFailure(FutureBase.java:66) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureImpl.tryFail(FutureImpl.java:230) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.PromiseImpl.tryFail(PromiseImpl.java:23) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.http.impl.HttpClientImpl.lambda$doRequest$8(HttpClientImpl.java:645) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.pool.Endpoint.lambda$getConnection$0(Endpoint.java:52) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.http.impl.SharedClientHttpStreamEndpoint$Request.handle(SharedClientHttpStreamEndpoint.java:162) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.http.impl.SharedClientHttpStreamEndpoint$Request.handle(SharedClientHttpStreamEndpoint.java:123) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.EventLoopContext.emit(EventLoopContext.java:56) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.ContextImpl.emit(ContextImpl.java:274) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.EventLoopContext.emit(EventLoopContext.java:23) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.pool.SimpleConnectionPool$ConnectFailed$1.run(SimpleConnectionPool.java:382) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.pool.CombinerExecutor.submit(CombinerExecutor.java:50) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.pool.SimpleConnectionPool.execute(SimpleConnectionPool.java:245) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.pool.SimpleConnectionPool.lambda$connect$2(SimpleConnectionPool.java:259) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.http.impl.SharedClientHttpStreamEndpoint.lambda$connect$2(SharedClientHttpStreamEndpoint.java:104) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureImpl$3.onFailure(FutureImpl.java:153) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureBase.emitFailure(FutureBase.java:75) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureImpl.tryFail(FutureImpl.java:230) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.Composition$1.onFailure(Composition.java:66) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureBase.emitFailure(FutureBase.java:75) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FailedFuture.addListener(FailedFuture.java:98) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.Composition.onFailure(Composition.java:55) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureBase.emitFailure(FutureBase.java:75) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.FutureImpl.tryFail(FutureImpl.java:230) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.future.PromiseImpl.tryFail(PromiseImpl.java:23) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.EventLoopContext.emit(EventLoopContext.java:56) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.ContextImpl.emit(ContextImpl.java:274) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.impl.EventLoopContext.emit(EventLoopContext.java:23) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.NetClientImpl.failed(NetClientImpl.java:294) ~[vertx-core.jar:4.3.1]
    at io.vertx.core.net.impl.NetClientImpl.lambda$connectInternal$4(NetClientImpl.java:262) ~[vertx-core.jar:4.3.1]
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.DefaultPromise.setFailure(DefaultPromise.java:109) ~[netty-common.jar:4.1.77.Final]
    at io.vertx.core.net.impl.ChannelProvider$1.userEventTriggered(ChannelProvider.java:131) ~[vertx-core.jar:4.3.1]
    at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.handler.ssl.SslUtils.handleHandshakeFailure(SslUtils.java:443) ~[netty-handler.jar:4.1.77.Final]
    at io.netty.handler.ssl.SslHandler$7.run(SslHandler.java:2117) ~[netty-handler.jar:4.1.77.Final]
    at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common.jar:4.1.77.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:503) ~[netty-transport.jar:4.1.77.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common.jar:4.1.77.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common.jar:4.1.77.Final]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: javax.net.ssl.SSLHandshakeException: Failed to create SSL connection
    at io.vertx.core.net.impl.ChannelProvider$1.userEventTriggered(ChannelProvider.java:129) ~[vertx-core.jar:4.3.1]
    ... 15 more
Caused by: io.netty.handler.ssl.SslHandshakeTimeoutException: handshake timed out after 10000ms
    at io.netty.handler.ssl.SslHandler$7.run(SslHandler.java:2113) ~[netty-handler.jar:4.1.77.Final]
    ... 10 more    

Kind regards,
Rui Silva
Software developer @ Bosch

Julien Viet

unread,
Sep 1, 2022, 4:21:17 PM9/1/22
to ve...@googlegroups.com
Hi,

It does not seem related to Vert.x specifically

Handshake timeout or close connectiosn are the kind of things that happen.

If you think it happens more than it should, then you should
investigate what happens in your network or server or with the remote
peers.

HTH

Julien
> --
> You received this message because you are subscribed to the Google Groups "vert.x" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
> To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/484d9b6b-9402-4ca4-b659-7e8d6f78c722n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages