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)