当前位置:   article > 正文

SpringCloudGateway 3.1.4版本 Netty内存泄漏问题解决_netty-common-4.1.43.final.jar版本有内存泄漏吗

netty-common-4.1.43.final.jar版本有内存泄漏吗

一、 产生的异常 

当时是服务器访问不到服务了,上去一看,无法申请资源OutOfDirectMemoryError了,内存级别的东西让人一阵头大,赶紧在线下模拟,

1. 减少分配的堆外内存,打开Netty的监测工具等有助于复现的配置和检查的信息

-XX:MaxDirectMemorySize=2M
-Dio.netty.leakDetection.acquireAndReleaseOnly=true
-Dio.netty.leakDetectionLevel=paranoid
-Dio.netty.leakDetection.targetRecords=50
-XX:-OmitStackTraceInFastThrow
-XX:NativeMemoryTracking=detail

Netty的内存泄漏检测分为四个级别:

  • DISABLED - 完成禁止检测内存泄漏,这个是不推荐。
  • SIMPLE - 如果buffer中出现1%的内存泄漏,打印错误日志,就是上面那样。但是日志是看不到详细在什么位置出现了内存泄漏。鉴于性能考虑,这个是在生产环境中默认使用。
  • ADVANCED - 如果buffer的1%出现内存泄漏,打印错误,并且输出详细的内存泄漏信息。
  • PARANOID - 这个和ADVANCED输出的内容是一样的,但它会对每一次请求的buffer做检查。很适用于调试和单元测试。

建议

1、为了今早的发现问题,强烈建议在开发调试过程中,把检测级别设为PARANOID,设置:

io.netty.leakDetection.level=PARANOID
  1. 2023-12-19 17:33:47.568 ERROR 19740 --- [tor-http-nio-54] reactor.netty.transport.ServerTransport : [158851ed, L:/127.0.0.1:10101 - R:/127.0.0.1:58747] onUncaughtException(SimpleConnection{channel=[id: 0x158851ed, L:/127.0.0.1:10101 - R:/127.0.0.1:58747]})
  2. io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 2048 byte(s) of direct memory (used: 2095623, max: 2097152)
  3. at io.netty.util.internal.PlatformDependent.incrementMemoryCounter(PlatformDependent.java:845) ~[netty-common-4.1.84.Final.jar:4.1.84.Final]
  4. at io.netty.util.internal.PlatformDependent.allocateDirectNoCleaner(PlatformDependent.java:774) ~[netty-common-4.1.84.Final.jar:4.1.84.Final]
  5. at io.netty.buffer.UnpooledUnsafeNoCleanerDirectByteBuf.allocateDirect(UnpooledUnsafeNoCleanerDirectByteBuf.java:30) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  6. at io.netty.buffer.UnpooledDirectByteBuf.<init>(UnpooledDirectByteBuf.java:64) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  7. at io.netty.buffer.UnpooledUnsafeDirectByteBuf.<init>(UnpooledUnsafeDirectByteBuf.java:41) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  8. at io.netty.buffer.UnpooledUnsafeNoCleanerDirectByteBuf.<init>(UnpooledUnsafeNoCleanerDirectByteBuf.java:25) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  9. at io.netty.buffer.UnsafeByteBufUtil.newUnsafeDirectByteBuf(UnsafeByteBufUtil.java:632) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  10. at io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:399) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  11. at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:188) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  12. at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:179) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  13. at io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:140) ~[netty-buffer-4.1.84.Final.jar:4.1.84.Final]
  14. at io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:120) ~[netty-transport-4.1.84.Final.jar:4.1.84.Final]
  15. at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:150) ~[netty-transport-4.1.84.Final.jar:4.1.84.Final]
  16. at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) [netty-transport-4.1.84.Final.jar:4.1.84.Final]
  17. at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.84.Final.jar:4.1.84.Final]
  18. at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.84.Final.jar:4.1.84.Final]
  19. at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.84.Final.jar:4.1.84.Final]
  20. at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.84.Final.jar:4.1.84.Final]
  21. at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.84.Final.jar:4.1.84.Final]
  22. at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.84.Final.jar:4.1.84.Final]
  23. at java.lang.Thread.run(Thread.java:750) [na:1.8.0_351]

二、 检查内存泄漏点位

由于有点多,还特意把检测的详细条数改到了50。

挨个查看是不是有自己写的代码或者熟悉的代码,看了一遍没认识的,完蛋这会麻烦了,各种找资料(百度),上官网(Netty的Issues · netty/netty · GitHub)(gateway的LEAK: ByteBuf.release() · Issue #26937 · spring-projects/spring-framework · GitHub)各种查,大部分都是版本问题但是都是老版本,我看我的都是新版的了咋还有,DEBUG后发现总是在请求进来时申请一次2048的,在后续的处理中涨涨降降最后就是这点没释放

  1. 2023-12-19 09:33:12.933 [reactor-http-nio-35] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected. See https://netty.io/wiki/reference-counted-objects.html for more information.
  2. Recent access records:
  3. #1:
  4. io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:90)
  5. io.netty.util.ReferenceCountUtil.safeRelease(ReferenceCountUtil.java:116)
  6. io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:271)
  7. io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:352)
  8. io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:421)
  9. io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931)
  10. io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
  11. io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895)
  12. io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
  13. io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:921)
  14. io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907)
  15. io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893)
  16. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.flush(CombinedChannelDuplexHandler.java:531)
  17. io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:125)
  18. io.netty.channel.CombinedChannelDuplexHandler.flush(CombinedChannelDuplexHandler.java:356)
  19. io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:923)
  20. io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907)
  21. io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893)
  22. reactor.netty.channel.MonoSendMany$SendManyInner$AsyncFlush.run(MonoSendMany.java:789)
  23. io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
  24. io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
  25. io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
  26. io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
  27. io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
  28. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
  29. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  30. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  31. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  32. java.lang.Thread.run(Thread.java:750)
  33. #2:
  34. Hint: 'DefaultChannelPipeline$HeadContext#0' will handle the message from this point.
  35. io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
  36. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:962)
  37. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856)
  38. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.write(CombinedChannelDuplexHandler.java:526)
  39. io.netty.handler.codec.http.HttpObjectEncoder.writeOutList(HttpObjectEncoder.java:118)
  40. io.netty.handler.codec.http.HttpObjectEncoder.write(HttpObjectEncoder.java:110)
  41. io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:346)
  42. io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:879)
  43. io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863)
  44. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968)
  45. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856)
  46. reactor.netty.channel.MonoSendMany$SendManyInner.run(MonoSendMany.java:321)
  47. reactor.netty.channel.MonoSendMany$SendManyInner.trySchedule(MonoSendMany.java:423)
  48. reactor.netty.channel.MonoSendMany$SendManyInner.onNext(MonoSendMany.java:223)
  49. reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
  50. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  51. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:49)
  52. reactor.core.publisher.Flux.subscribe(Flux.java:8526)
  53. reactor.netty.channel.MonoSendMany.subscribe(MonoSendMany.java:102)
  54. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240)
  55. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203)
  56. reactor.core.publisher.Operators.complete(Operators.java:137)
  57. reactor.netty.FutureMono.doSubscribe(FutureMono.java:122)
  58. reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114)
  59. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  60. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  61. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  62. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  63. reactor.netty.NettyOutbound.subscribe(NettyOutbound.java:336)
  64. reactor.core.publisher.MonoSource.subscribe(MonoSource.java:69)
  65. reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
  66. reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:441)
  67. reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:677)
  68. reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.run(DefaultPooledConnectionProvider.java:274)
  69. io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
  70. io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
  71. io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
  72. io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
  73. io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
  74. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
  75. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  76. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  77. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  78. java.lang.Thread.run(Thread.java:750)
  79. #3:
  80. io.netty.handler.codec.http.HttpObjectEncoder.encodeByteBufContent(HttpObjectEncoder.java:405)
  81. io.netty.handler.codec.http.HttpObjectEncoder.encodeNotHttpMessageContentTypes(HttpObjectEncoder.java:285)
  82. io.netty.handler.codec.http.HttpObjectEncoder.encode(HttpObjectEncoder.java:181)
  83. io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(HttpClientCodec.java:203)
  84. io.netty.handler.codec.http.HttpObjectEncoder.write(HttpObjectEncoder.java:97)
  85. io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:346)
  86. io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:879)
  87. io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863)
  88. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968)
  89. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856)
  90. reactor.netty.channel.MonoSendMany$SendManyInner.run(MonoSendMany.java:321)
  91. reactor.netty.channel.MonoSendMany$SendManyInner.trySchedule(MonoSendMany.java:423)
  92. reactor.netty.channel.MonoSendMany$SendManyInner.onNext(MonoSendMany.java:223)
  93. reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
  94. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  95. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:49)
  96. reactor.core.publisher.Flux.subscribe(Flux.java:8526)
  97. reactor.netty.channel.MonoSendMany.subscribe(MonoSendMany.java:102)
  98. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240)
  99. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203)
  100. reactor.core.publisher.Operators.complete(Operators.java:137)
  101. reactor.netty.FutureMono.doSubscribe(FutureMono.java:122)
  102. reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114)
  103. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  104. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  105. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  106. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  107. reactor.netty.NettyOutbound.subscribe(NettyOutbound.java:336)
  108. reactor.core.publisher.MonoSource.subscribe(MonoSource.java:69)
  109. reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
  110. reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:441)
  111. reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:677)
  112. reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.run(DefaultPooledConnectionProvider.java:274)
  113. io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
  114. io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
  115. io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
  116. io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
  117. io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
  118. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
  119. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  120. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  121. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  122. java.lang.Thread.run(Thread.java:750)
  123. #4:
  124. io.netty.handler.codec.http.HttpObjectEncoder.encodeByteBufAndTrailers(HttpObjectEncoder.java:453)
  125. io.netty.handler.codec.http.HttpObjectEncoder.encodeByteBufContent(HttpObjectEncoder.java:403)
  126. io.netty.handler.codec.http.HttpObjectEncoder.encodeNotHttpMessageContentTypes(HttpObjectEncoder.java:285)
  127. io.netty.handler.codec.http.HttpObjectEncoder.encode(HttpObjectEncoder.java:181)
  128. io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(HttpClientCodec.java:203)
  129. io.netty.handler.codec.http.HttpObjectEncoder.write(HttpObjectEncoder.java:97)
  130. io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:346)
  131. io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:879)
  132. io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863)
  133. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968)
  134. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856)
  135. reactor.netty.channel.MonoSendMany$SendManyInner.run(MonoSendMany.java:321)
  136. reactor.netty.channel.MonoSendMany$SendManyInner.trySchedule(MonoSendMany.java:423)
  137. reactor.netty.channel.MonoSendMany$SendManyInner.onNext(MonoSendMany.java:223)
  138. reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
  139. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  140. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:49)
  141. reactor.core.publisher.Flux.subscribe(Flux.java:8526)
  142. reactor.netty.channel.MonoSendMany.subscribe(MonoSendMany.java:102)
  143. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240)
  144. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203)
  145. reactor.core.publisher.Operators.complete(Operators.java:137)
  146. reactor.netty.FutureMono.doSubscribe(FutureMono.java:122)
  147. reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114)
  148. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  149. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  150. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  151. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  152. reactor.netty.NettyOutbound.subscribe(NettyOutbound.java:336)
  153. reactor.core.publisher.MonoSource.subscribe(MonoSource.java:69)
  154. reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
  155. reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:441)
  156. reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:677)
  157. reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.run(DefaultPooledConnectionProvider.java:274)
  158. io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
  159. io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
  160. io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
  161. io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
  162. io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
  163. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
  164. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  165. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  166. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  167. java.lang.Thread.run(Thread.java:750)
  168. #5:
  169. Hint: 'reactor.left.httpCodec' will handle the message from this point.
  170. io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
  171. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:962)
  172. io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856)
  173. reactor.netty.channel.MonoSendMany$SendManyInner.run(MonoSendMany.java:321)
  174. reactor.netty.channel.MonoSendMany$SendManyInner.trySchedule(MonoSendMany.java:423)
  175. reactor.netty.channel.MonoSendMany$SendManyInner.onNext(MonoSendMany.java:223)
  176. reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
  177. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  178. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:49)
  179. reactor.core.publisher.Flux.subscribe(Flux.java:8526)
  180. reactor.netty.channel.MonoSendMany.subscribe(MonoSendMany.java:102)
  181. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240)
  182. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203)
  183. reactor.core.publisher.Operators.complete(Operators.java:137)
  184. reactor.netty.FutureMono.doSubscribe(FutureMono.java:122)
  185. reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114)
  186. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  187. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  188. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  189. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  190. reactor.netty.NettyOutbound.subscribe(NettyOutbound.java:336)
  191. reactor.core.publisher.MonoSource.subscribe(MonoSource.java:69)
  192. reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
  193. reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:441)
  194. reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:677)
  195. reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.run(DefaultPooledConnectionProvider.java:274)
  196. io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
  197. io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
  198. io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
  199. io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
  200. io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
  201. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
  202. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  203. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  204. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  205. java.lang.Thread.run(Thread.java:750)
  206. #6:
  207. org.springframework.core.io.buffer.NettyDataBufferFactory.wrap(NettyDataBufferFactory.java:93)
  208. org.springframework.cloud.gateway.support.ServerWebExchangeUtils$1.lambda$getBody$0(ServerWebExchangeUtils.java:375)
  209. reactor.core.publisher.MonoSupplier.call(MonoSupplier.java:86)
  210. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:44)
  211. reactor.core.publisher.Flux.subscribe(Flux.java:8526)
  212. reactor.netty.channel.MonoSendMany.subscribe(MonoSendMany.java:102)
  213. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240)
  214. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203)
  215. reactor.core.publisher.Operators.complete(Operators.java:137)
  216. reactor.netty.FutureMono.doSubscribe(FutureMono.java:122)
  217. reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114)
  218. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  219. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  220. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  221. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  222. reactor.netty.NettyOutbound.subscribe(NettyOutbound.java:336)
  223. reactor.core.publisher.MonoSource.subscribe(MonoSource.java:69)
  224. reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
  225. reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:441)
  226. reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:677)
  227. reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.run(DefaultPooledConnectionProvider.java:274)
  228. io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
  229. io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
  230. io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
  231. io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
  232. io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
  233. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
  234. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  235. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  236. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  237. java.lang.Thread.run(Thread.java:750)
  238. #7:
  239. org.springframework.core.io.buffer.NettyDataBuffer.release(NettyDataBuffer.java:326)
  240. org.springframework.core.io.buffer.DataBufferUtils.release(DataBufferUtils.java:521)
  241. org.springframework.core.codec.StringDecoder.decode(StringDecoder.java:192)
  242. org.springframework.core.codec.StringDecoder.decode(StringDecoder.java:61)
  243. org.springframework.core.codec.AbstractDataBufferDecoder.decodeDataBuffer(AbstractDataBufferDecoder.java:109)
  244. org.springframework.core.codec.AbstractDataBufferDecoder.lambda$decodeToMono$1(AbstractDataBufferDecoder.java:96)
  245. reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
  246. reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
  247. reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
  248. reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337)
  249. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  250. reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:160)
  251. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1817)
  252. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:49)
  253. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  254. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  255. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  256. reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
  257. reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
  258. reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
  259. reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101)
  260. reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
  261. reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
  262. reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337)
  263. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  264. reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:160)
  265. reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
  266. reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
  267. reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
  268. reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:400)
  269. reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:419)
  270. reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:603)
  271. reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
  272. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
  273. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  274. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  275. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  276. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  277. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  278. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  279. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  280. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  281. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  282. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  283. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  284. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  285. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  286. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  287. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  288. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  289. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  290. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  291. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  292. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  293. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  294. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  295. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  296. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  297. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  298. java.lang.Thread.run(Thread.java:750)
  299. #8:
  300. org.springframework.core.io.buffer.NettyDataBufferFactory.wrap(NettyDataBufferFactory.java:93)
  301. org.springframework.cloud.gateway.support.ServerWebExchangeUtils$1.lambda$getBody$0(ServerWebExchangeUtils.java:375)
  302. reactor.core.publisher.MonoSupplier.call(MonoSupplier.java:86)
  303. reactor.core.publisher.FluxCallable.subscribe(FluxCallable.java:44)
  304. reactor.core.publisher.Mono.subscribe(Mono.java:4455)
  305. reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
  306. reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
  307. reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
  308. reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
  309. reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
  310. reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101)
  311. reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
  312. reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
  313. reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337)
  314. reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
  315. reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:160)
  316. reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
  317. reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
  318. reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
  319. reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:400)
  320. reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:419)
  321. reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:603)
  322. reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
  323. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
  324. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  325. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  326. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  327. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  328. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  329. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  330. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  331. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  332. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  333. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  334. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  335. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  336. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  337. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  338. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  339. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  340. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  341. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  342. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  343. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  344. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  345. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  346. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  347. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  348. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  349. java.lang.Thread.run(Thread.java:750)
  350. #9:
  351. io.netty.handler.codec.http.DefaultHttpContent.release(DefaultHttpContent.java:92)
  352. io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:90)
  353. reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:367)
  354. reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:404)
  355. reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:598)
  356. reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
  357. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
  358. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  359. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  360. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  361. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  362. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  363. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  364. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  365. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  366. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  367. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  368. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  369. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  370. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  371. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  372. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  373. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  374. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  375. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  376. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  377. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  378. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  379. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  380. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  381. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  382. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  383. java.lang.Thread.run(Thread.java:750)
  384. #10:
  385. org.springframework.core.io.buffer.NettyDataBufferFactory.wrap(NettyDataBufferFactory.java:93)
  386. reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106)
  387. reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
  388. reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
  389. reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:364)
  390. reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:404)
  391. reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:598)
  392. reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
  393. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
  394. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  395. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  396. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  397. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  398. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  399. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  400. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  401. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  402. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  403. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  404. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  405. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  406. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  407. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  408. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  409. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  410. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  411. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  412. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  413. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  414. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  415. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  416. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  417. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  418. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  419. java.lang.Thread.run(Thread.java:750)
  420. #11:
  421. reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:185)
  422. reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
  423. reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:364)
  424. reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:404)
  425. reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:598)
  426. reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
  427. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
  428. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  429. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  430. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  431. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  432. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  433. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  434. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  435. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  436. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  437. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  438. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  439. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  440. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  441. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  442. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  443. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  444. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  445. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  446. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  447. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  448. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  449. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  450. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  451. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  452. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  453. java.lang.Thread.run(Thread.java:750)
  454. #12:
  455. Hint: [a2330415-3, L:/127.0.0.1:10101 - R:/127.0.0.1:52736] Receiver reactor.core.publisher.FluxMap$MapSubscriber will handle the message from this point
  456. io.netty.handler.codec.http.DefaultHttpContent.touch(DefaultHttpContent.java:86)
  457. io.netty.handler.codec.http.DefaultLastHttpContent.touch(DefaultLastHttpContent.java:96)
  458. io.netty.handler.codec.http.DefaultLastHttpContent.touch(DefaultLastHttpContent.java:30)
  459. reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:360)
  460. reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:404)
  461. reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:598)
  462. reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
  463. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
  464. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  465. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  466. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  467. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  468. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  469. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  470. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  471. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  472. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  473. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  474. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  475. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  476. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  477. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  478. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  479. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  480. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  481. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  482. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  483. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  484. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  485. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  486. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  487. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  488. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  489. java.lang.Thread.run(Thread.java:750)
  490. #13:
  491. Hint: 'reactor.right.reactiveBridge' will handle the message from this point.
  492. io.netty.handler.codec.http.DefaultHttpContent.touch(DefaultHttpContent.java:86)
  493. io.netty.handler.codec.http.DefaultLastHttpContent.touch(DefaultLastHttpContent.java:96)
  494. io.netty.handler.codec.http.DefaultLastHttpContent.touch(DefaultLastHttpContent.java:30)
  495. io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
  496. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:417)
  497. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  498. reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:266)
  499. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  500. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  501. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  502. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  503. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  504. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  505. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  506. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  507. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  508. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  509. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  510. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  511. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  512. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  513. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  514. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  515. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  516. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  517. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  518. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  519. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  520. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  521. java.lang.Thread.run(Thread.java:750)
  522. #14:
  523. Hint: 'reactor.left.httpTrafficHandler' will handle the message from this point.
  524. io.netty.handler.codec.http.DefaultHttpContent.touch(DefaultHttpContent.java:86)
  525. io.netty.handler.codec.http.DefaultLastHttpContent.touch(DefaultLastHttpContent.java:96)
  526. io.netty.handler.codec.http.DefaultLastHttpContent.touch(DefaultLastHttpContent.java:30)
  527. io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
  528. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:417)
  529. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  530. io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
  531. io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
  532. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
  533. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  534. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  535. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  536. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  537. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  538. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  539. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  540. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  541. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  542. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  543. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  544. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  545. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  546. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  547. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  548. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  549. java.lang.Thread.run(Thread.java:750)
  550. #15:
  551. io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
  552. io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
  553. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
  554. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  555. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  556. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  557. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  558. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  559. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  560. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  561. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  562. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  563. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  564. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  565. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  566. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  567. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  568. java.lang.Thread.run(Thread.java:750)
  569. #16:
  570. Hint: 'reactor.left.httpCodec' will handle the message from this point.
  571. io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
  572. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:417)
  573. io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
  574. io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
  575. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
  576. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
  577. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  578. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  579. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  580. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  581. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  582. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  583. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  584. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  585. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  586. java.lang.Thread.run(Thread.java:750)
  587. #17:
  588. Hint: 'DefaultChannelPipeline$HeadContext#0' will handle the message from this point.
  589. io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
  590. io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:417)
  591. io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
  592. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
  593. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  594. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  595. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  596. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  597. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  598. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  599. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  600. java.lang.Thread.run(Thread.java:750)
  601. Created at:
  602. io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:403)
  603. io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:188)
  604. io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:179)
  605. io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:140)
  606. io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:120)
  607. io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:150)
  608. io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
  609. io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
  610. io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
  611. io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
  612. io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
  613. io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
  614. io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
  615. java.lang.Thread.run(Thread.java:750)

三、 修复

别看上面一堆很长,关键的就是几个点:

Hint: 开头的

Spring的一些

如果有自己的代码记得释放就好,我的没有就需要对比试用版本和泄漏点是不是有使用没有释放,或者释放未成功。

第一次试着升级了gateway的版本但是无效,后来想单独升级会不会有冲突,回滚后一起升级的Springboot+SpringCloud,试运行后还是不行,查看依赖时发现Libraries中旧版Jar包引入在未删除,造成了冲突,删除后,Maven刷新,在运行一切就正常了。

原版本:

<spring-boot.version>2.6.13</spring-boot.version>
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
<spring-cloud.version>2021.0.5</spring-cloud.version>

升级后版本:

<spring-boot.version>2.6.15</spring-boot.version>
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
<spring-cloud.version>2021.0.8</spring-cloud.version>

推荐堆外内存监控程序和检查的一些资料可以参考:

spring gateway LEAK: ByteBuf.release() was not called before it's garbage-collected - 望)=天涯 - 博客园 (cnblogs.com)

SpringCloud-Gateway OutOfDirectMemoryError排查-CSDN博客

Spring Boot各版本与Java版本的对应兼容关系,与构建工具(Maven、Gradle)版本的对应兼容关系,对servlet 容器的支持-CSDN博客

还有一些找不到了,每个里面找个有用的汇总起来解决;希望可以帮到有需要的朋友

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/447331
推荐阅读
相关标签
  

闽ICP备14008679号