Mark Anderson created CXF-5327:
----------------------------------

             Summary: Memory leak if SSLException occurs in 
FailoverTargetSelector.complete()
                 Key: CXF-5327
                 URL: https://issues.apache.org/jira/browse/CXF-5327
             Project: CXF
          Issue Type: Bug
    Affects Versions: 2.6.10
            Reporter: Mark Anderson


When using failover with a sequential strategy and https there is a memory leak 
if an SSLException is thrown in FailoverTargetSelector.complete(). 

The exception being thrown results in the key never being removed from the 
inProgress map.

An example stack trace is given below:

org.apache.cxf.interceptor.Fault: Could not send Message.
     [java]     at 
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
     [java]     at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
     [java]     at 
org.apache.cxf.clustering.FailoverTargetSelector.complete(FailoverTargetSelector.java:150)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.processResult(ClientImpl.java:626)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:574)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
     [java]     at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
     [java]     at 
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
     [java]     at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
     [java]     at com.sun.proxy.$Proxy159.version(Unknown Source)
     [java]     <snip>
     [java] Caused by: javax.net.ssl.SSLException: SSLException invoking 
https://localhost:24750/ws-consumer/osc: Unrecognized SSL message, plaintext 
connection?
     [java]     at 
sun.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source)
     [java]     at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
     [java]     at 
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1474)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1459)
     [java]     at 
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:660)
     [java]     at 
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
     [java]     ... 23 more
     [java] Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, 
plaintext connection?
     [java]     at 
sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:671)
     [java]     at sun.security.ssl.InputRecord.read(InputRecord.java:504)
     [java]     at 
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
     [java]     at 
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
     [java]     at 
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
     [java]     at 
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
     [java]     at 
sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
     [java]     at 
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
     [java]     at 
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
     [java]     at 
sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1403)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1347)
     [java]     at 
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
     [java]     at 
org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1431)
     [java]     ... 26 more




--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to