[ 
https://issues.apache.org/jira/browse/HTTPCORE-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Per-Ivar Bakke updated HTTPCORE-660:
------------------------------------
    Description: 
The below exception should be handled by httpcore to keep the i/o reactor 
going. This issue is partly solved in 
https://issues.apache.org/jira/browse/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|https://wrong.host.badssl.com/]).

 

 

{{{quote}}}

 {{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]}}

{{{quote}}}

  was:
The below exception should be handled by httpcore to keep the i/o reactor 
going. This issue is partly solved in 
https://issues.apache.org/jira/browse/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|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]}}


> RuntimeException: HostnameVerifier, socket reset for TTL - Not Handled by 
> SSIOSession
> -------------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-660
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-660
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.4.13
>         Environment: CXF version 3.4.1
> httpcore version 4.4.13
>            Reporter: Per-Ivar Bakke
>            Priority: Major
>
> The below exception should be handled by httpcore to keep the i/o reactor 
> going. This issue is partly solved in 
> https://issues.apache.org/jira/browse/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|https://wrong.host.badssl.com/]).
>  
>  
> {{{quote}}}
>  {{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]}}
> {{{quote}}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to