[ 
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)

Reply via email to