Florian Paetz created CXF-8266:
----------------------------------
Summary: CLONE - Upgrading to JDK 1.8 seems to cause concurrency
issues intermittently. Message received on a Client that has been closed or
destroyed
Key: CXF-8266
URL: https://issues.apache.org/jira/browse/CXF-8266
Project: CXF
Issue Type: Bug
Components: Core
Affects Versions: 3.0.3
Reporter: Florian Paetz
After migrating to JDK 8 from JDK 6 we started seeing this exception. We make
calls synchronously. This issue is intermittent and the occurrence seems to
increase with the number of concurrent requests. I enabled HttpUrlConnection
logging and I can see that the service responds with 200. We do not invoke
destroy() in the ClientImpl class until the response is received. It seems
something else is invoking destroy() which is nullifying the bus and causing
this exception to be thrown. I tried upgrading to CXF version 3.0.12 but the
same issue can be re-created.
Any help would be appreciated.
FINE: sun.net.www.MessageHeader@1bf1c95f13 pairs: \{null: HTTP/1.1 200
OK}{.......}
2018-03-02 01:21:42,590 WARN [ajp-apr-1110-exec-12] (LogUtils.java:452)
org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for {http://**** has
thrown exception, unwinding now java.lang.IllegalStateException:
IllegalStateException invoking https://**** Message received on a Client that
has been closed or destroyed.
at sun.reflect.GeneratedConstructorAccessor223.newInstance(Unknown Source)
~[?:?]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[?:1.8.0_92]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
~[?:1.8.0_92]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1359)
~[cxf-rt-transports-http-3.0.3.jar:3.0.3]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348)
~[cxf-rt-transports-http-3.0.3.jar:3.0.3]
at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
~[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:215)
~[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
~[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:638)
~[cxf-rt-transports-http-3.0.3.jar:3.0.3]
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
~[cxf-core-3.0.3.jar:3.0.3]
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425)
[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299)
[cxf-core-3.0.3.jar:3.0.3]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:285)
[cxf-core-3.0.3.jar:3.0.3]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-coyote.jar:7.0.70]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
Caused by: java.lang.IllegalStateException: Message received on a Client that
has been closed or destroyed.
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:705)
~[cxf-core-3.0.3.jar:3.0.3]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1638)
~[cxf-rt-transports-http-3.0.3.jar:3.0.3]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1527)
~[cxf-rt-transports-http-3.0.3.jar:3.0.3]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)
~[cxf-rt-transports-http-3.0.3.jar:3.0.3]
... 80 more
--
This message was sent by Atlassian Jira
(v8.3.4#803005)