You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Florian Paetz (Jira)" <ji...@apache.org> on 2020/03/30 08:02:00 UTC

[jira] [Commented] (CXF-7664) Upgrading to JDK 1.8 seems to cause concurrency issues intermittently. Message received on a Client that has been closed or destroyed

    [ https://issues.apache.org/jira/browse/CXF-7664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17070770#comment-17070770 ] 

Florian Paetz commented on CXF-7664:
------------------------------------

Hi,

we are currently facing the same problem with CXF 3.3.2. It occurs under high load. We are using the IBM J9 JVM with Java 8. We made additional debug output, so we could see, that the failing instance was finalized before we got the error.

 

Do you have any Ideas to find the Problem?

 

> 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
(v8.3.4#803005)