yuhuangbin opened a new issue #4945:
URL: https://github.com/apache/skywalking/issues/4945


   Spring cloud gateway integrates skywalking, the following error occurs, the 
console monitoring result looks normal, it is not clear what causes it.
   
   ```java
   2020-06-18 15:44:05.553 [reactor-http-epoll-2] ERROR r.c.p.Operators - 
Operator called default onErrorDropped
   reactor.core.Exceptions$BubblingException: java.lang.RuntimeException: Can 
not do async finish for the span repeatedly.
        at reactor.core.Exceptions.bubble(Exceptions.java:170)
        at reactor.core.publisher.Operators.onErrorDropped(Operators.java:590)
        at 
reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.runFinally(FluxDoFinally.java:159)
        at 
reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:139)
        at 
reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:174)
        at 
reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:189)
        at 
reactor.core.publisher.MonoFlatMap$FlatMapInner.onComplete(MonoFlatMap.java:260)
        at 
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:144)
        at 
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.ignoreDone(MonoIgnoreThen.java:190)
        at 
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreInner.onComplete(MonoIgnoreThen.java:240)
        at 
reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:138)
        at 
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:270)
        at 
reactor.core.publisher.Operators$MonoSubscriber.onComplete(Operators.java:1747)
        at 
reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onComplete(MonoIgnoreThen.java:314)
        at 
reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:292)
        at 
org.springframework.http.server.reactive.ChannelSendOperator$WriteCompletionBarrier.onComplete(ChannelSendOperator.java:423)
        at 
reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:81)
        at 
reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:191)
        at 
reactor.core.publisher.Operators$MonoSubscriber.onComplete(Operators.java:1747)
        at 
reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onComplete(MonoIgnoreThen.java:314)
        at 
reactor.netty.channel.MonoSendMany$SendManyInner.run(MonoSendMany.java:320)
        at 
reactor.netty.channel.MonoSendMany$SendManyInner.trySchedule(MonoSendMany.java:383)
        at 
reactor.netty.channel.MonoSendMany$SendManyInner.trySuccess(MonoSendMany.java:527)
        at 
reactor.netty.channel.MonoSendMany$SendManyInner.trySuccess(MonoSendMany.java:94)
        at 
io.netty.util.concurrent.PromiseCombiner.tryPromise(PromiseCombiner.java:170)
        at 
io.netty.util.concurrent.PromiseCombiner.access$600(PromiseCombiner.java:35)
        at 
io.netty.util.concurrent.PromiseCombiner$1.operationComplete0(PromiseCombiner.java:62)
        at 
io.netty.util.concurrent.PromiseCombiner$1.operationComplete(PromiseCombiner.java:44)
        at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
        at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
        at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
        at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
        at 
io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:604)
        at 
io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
        at 
io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48)
        at 
io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:717)
        at 
io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:272)
        at 
io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:352)
        at 
io.netty.channel.epoll.AbstractEpollStreamChannel.writeBytesMultiple(AbstractEpollStreamChannel.java:305)
        at 
io.netty.channel.epoll.AbstractEpollStreamChannel.doWriteMultiple(AbstractEpollStreamChannel.java:510)
        at 
io.netty.channel.epoll.AbstractEpollStreamChannel.doWrite(AbstractEpollStreamChannel.java:422)
        at 
io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:930)
        at 
io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.flush0(AbstractEpollChannel.java:519)
        at 
io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:897)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:748)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:740)
        at 
io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:726)
        at 
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.flush(CombinedChannelDuplexHandler.java:531)
        at 
io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:125)
        at 
io.netty.channel.CombinedChannelDuplexHandler.flush(CombinedChannelDuplexHandler.java:356)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:748)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:740)
        at 
io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:726)
        at 
reactor.netty.channel.MonoSendMany$SendManyInner$AsyncFlush.run(MonoSendMany.java:633)
        at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
   Caused by: java.lang.RuntimeException: Can not do async finish for the span 
repeatedly.
        at 
org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan.asyncFinish(AbstractTracingSpan.java:314)
        at 
org.apache.skywalking.apm.plugin.spring.webflux.v5.DispatcherHandlerHandleMethodInterceptor.lambda$afterMethod$0(DispatcherHandlerHandleMethodInterceptor.java:96)
        at 
reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.runFinally(FluxDoFinally.java:156)
   ```
   
   - Which version of SkyWalking, OS and JRE?
   SkyWalking 8.0.0
   Spring Cloud Gateway 2.2.2.RELEASE
   apm-spring-cloud-gateway-2.1.x-plugin-8.0.0.jar
   ElasticSearch 7.6.2
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to