[ https://issues.apache.org/jira/browse/CXF-7664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Robinson updated CXF-7664: ------------------------------- Summary: Upgrading to JDK 1.8 seems to cause concurrency issues intermittently. Message received on a Client that has been closed or destroyed (was: Upgrading to JDK 1.8 seems to cause concurrency issues ) > Upgrading to JDK 1.8 seems to cause concurrency issues intermittently. > Message received on a Client that has been closed or destroyed > -------------------------------------------------------------------------------------------------------------------------------------- > > Key: CXF-7664 > URL: https://issues.apache.org/jira/browse/CXF-7664 > Project: CXF > Issue Type: Bug > Components: Core > Affects Versions: 3.0.3 > Reporter: John Robinson > Priority: Major > > 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 (v7.6.3#76005)