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

Andriy Redko commented on CXF-9009:
-----------------------------------

{noformat}
May 17, 2024 2:52:39 P.M. io.netty.channel.ChannelInitializer 
exceptionCaughtWARNING: Failed to initialize a channel. Closing: [id: 
0xe5e4c70d]java.lang.IllegalStateException: complete already: 
DefaultChannelPromise@1876fa2c(success)       at 
io.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:100)  at 
io.netty.channel.DefaultChannelPromise.setSuccess(DefaultChannelPromise.java:78)
     at 
org.apache.cxf.transport.http.netty.client.NettyHttpClientPipelineFactory.initChannel(NettyHttpClientPipelineFactory.java:187)
       at 
io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) at 
io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112)   
     at 
io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1130)
     at 
io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609)
   at 
io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46)
   at 
io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463)
    at 
io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115)
     at 
io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650)
  at 
io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514)
  at 
io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429)
 at 
io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486) 
     at 
io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
       at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
   at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)   
 at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:833) {noformat}
For the record, this is the real cause of the issue.

> Async operations fail in concurrent calls
> -----------------------------------------
>
>                 Key: CXF-9009
>                 URL: https://issues.apache.org/jira/browse/CXF-9009
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 4.0.4
>            Reporter: Julio J. Gomez Diaz
>            Assignee: Andriy Redko
>            Priority: Major
>         Attachments: spring-soap.zip
>
>
> An exception occurs when a SOAP client is used concurrently in async 
> operations, the exception is as follows:
>  
>  
> {code:java}
> org.apache.cxf.interceptor.Fault: Could not send Message.
>   at 
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67)
>  ~[cxf-core-4.0.4.jar:4.0.4]
>   at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
>  ~[cxf-core-4.0.4.jar:4.0.4]
>   at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530) 
> ~[cxf-core-4.0.4.jar:4.0.4]
>   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:434) 
> ~[cxf-core-4.0.4.jar:4.0.4]
>   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:412) 
> ~[cxf-core-4.0.4.jar:4.0.4]
>   at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invokeAsync(JaxWsClientProxy.java:326) 
> ~[cxf-rt-frontend-jaxws-4.0.4.jar:4.0.4]
>   at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138) 
> ~[cxf-rt-frontend-jaxws-4.0.4.jar:4.0.4]
>   at jdk.proxy2/jdk.proxy2.$Proxy95.countAsync(Unknown Source) ~[na:na]
>   at 
> com.example.demo.rest.RestController.lambda$async$1(RestController.java:25) 
> ~[classes/:na]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) 
> ~[na:na]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>  ~[na:na]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>  ~[na:na]
>   at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
> Caused by: io.netty.channel.StacklessClosedChannelException: null
>   at 
> io.netty.channel.AbstractChannel$AbstractUnsafe.ensureOpen(ChannelPromise)(Unknown
>  Source) ~[netty-transport-4.1.109.Final.jar:4.1.109.Final]{code}
>  
> I created an reproducer application (find attached "spring-soap.zip")  that 
> acts as client and server, and this publishes the following operations:
>  * [http://localhost:8080/async] -> it uses a soap client to call 
> concurrently using an async operation (this {*}fails with the exception 
> previously described{*})
>  * [http://localhost:8080/sync] -> it uses a soap client to call concurrently 
> using an ordinary operation (ends without errors)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to