Uploaded image for project: 'HttpComponents HttpCore'
  1. HttpComponents HttpCore
  2. HTTPCORE-660

RuntimeException: HostnameVerifier, socket reset for TTL - Not Handled by SSIOSession

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 4.4.13
    • Fix Version/s: 4.4.15
    • Component/s: HttpCore NIO
    • Labels:
      None
    • Environment:
      CXF version 3.4.1
      httpcore-nio version 4.4.13
      httpasyncclient version 4.1.4

      Description

      The below exception should be handled by httpcore to keep the i/o reactor going. This issue is partly solved in HTTPCORE-268, but unfortunately the call in line 371 in SSIOSession is not wrapped causing a RuntimeException (thrown by CXF) to reach the IOReactor. The issue occurs if a request is made towards a server having a certificate with non-matching host (for instance https://wrong.host.badssl.com).

      org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker terminated abnormally
      at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:359) ~[httpcore-nio-4.4.13.jar:4.4.13]
      at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221) ~[httpasyncclient-4.1.4.jar:4.1.4]
      at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) [httpasyncclient-4.1.4.jar:4.1.4]
      at java.lang.Thread.run(Thread.java:834) [?:?]
      Caused by: java.lang.RuntimeException: HostnameVerifier, socket reset for TTL
      at org.apache.cxf.transport.https.httpclient.DefaultHostnameVerifier.verify(DefaultHostnameVerifier.java:98) ~[cxf-rt-transports-http-3.4.1.jar:3.4.1]
      at org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit$AsyncWrappedOutputStream$5.verifySession(AsyncHTTPConduit.java:557) ~[cxf-rt-transports-http-hc-3.4.1.jar:3.4.1]
      at org.apache.http.nio.conn.ssl.SSLIOSessionStrategy$1.verify(SSLIOSessionStrategy.java:188) ~[httpasyncclient-4.1.4.jar:4.1.4]
      at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:371) ~[httpcore-nio-4.4.13.jar:4.4.13]
      at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:537) ~[httpcore-nio-4.4.13.jar:4.4.13]
      at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:120) ~[httpcore-nio-4.4.13.jar:4.4.13]

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              pibakke Per-Ivar Bakke

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment