apache / apache/servicecomb-java-chassis
项目启动后过一段时间cpu升高
- Dominant language
- Java
- Stars
- 1.9k
- Forks
- 814
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 1
Description
`{"instant":{"epochSecond":1713397746,"nanoOfSecond":767000000},"thread":"vert.x-eventloop-thread-22","level":"ERROR","loggerName":"io.vertx.core.impl.ContextImpl","message":"Unhandled exception","thrown":{"commonElementCount":0,"name":"java.lang.NullPointerException","extendedStackTrace":"java.lang.NullPointerException: null\n\tat io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.setFinalBuffer(HttpPostStandardRequestDecoder.java:639) ~[netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBodyAttributes(HttpPostStandardRequestDecoder.java:593) ~[netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBody(HttpPostStandardRequestDecoder.java:378) ~[netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.offer(HttpPostStandardRequestDecoder.java:310) ~[netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.offer(HttpPostStandardRequestDecoder.java:49) ~[netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.http.multipart.HttpPostRequestDecoder.offer(HttpPostRequestDecoder.java:223) ~[netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.vertx.core.http.impl.HttpServerRequestImpl.onData(HttpServerRequestImpl.java:490) ~[vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.http.impl.HttpServerRequestImpl.handleContent(HttpServerRequestImpl.java:138) ~[vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.http.impl.Http1xServerConnection.handleContent(Http1xServerConnection.java:160) ~[vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:140) ~[vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366) [vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43) [vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:229) [vertx-core-3.9.11.jar:3.9.11]\n\tat io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:164) [vertx-core-3.9.11.jar:3.9.11]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:102) [netty-codec-http-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [netty-handler-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.55.Final.jar:4.1.55.Final]\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.55.Final.jar:4.1.55.Final]\n\tat java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]\n"},"endOfBatch":false,"loggerFqcn":"io.vertx.core.logging.Logger","skyWalkingDynamicField":{"traceId":"N/A"},"threadId":148,"threadPriority":5,"source":{"class":"io.vertx.core.impl.ContextImpl","method":"reportException","file":"ContextImpl.java","line":413},"traceId":"N/A","host":"hzg-sjcj1","@timestamp":"2024-04-18T07:49:06.767+08:00"}
`
可以帮忙看下这个问题吗,项目用的版本是 1.3.11 ,项目重启之后过一段时间就会报这种错 然后一直打印 下面这个这个异常,服务器的cpu也变高了。
`{"instant":{"epochSecond":1713397900,"nanoOfSecond":544000000},"thread":"vertx-blocked-thread-checker","level":"WARN","loggerName":"io.vertx.core.impl.BlockedThreadChecker","message":"Thread Thread[vert.x-eventloop-thread-22,5,main]=Thread[vert.x-eventloop-thread-22,5,main] has been blocked for 2677 ms, time limit is 2000 ms","endOfBatch":false,"loggerFqcn":"io.vertx.core.logging.Logger","skyWalkingDynamicField":{"traceId":"N/A"},"threadId":117,"threadPriority":5,"source":{"class":"io.vertx.core.impl.BlockedThreadChecker$1","method":"run","file":"BlockedThreadChecker.java","line":59},"traceId":"N/A","host":"hzg-sjcj1","@timestamp":"2024-04-18T07:51:40.544+08:00"}
`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the reported stack trace in io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.setFinalBuffer and the surrounding Vert.x HTTP request path, using Netty 4.1.55.Final, Vert.x 3.9.11, and project version 1.3.11 as context. Reproduce the repeated exception after startup and verify that the fix prevents the event-loop blocking warnings and CPU increase, with a regression test if the behavior can be isolated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100