fengjiachun / Jupiter

Jupiter是一款性能非常不错的, 轻量级的分布式服务框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LowCopyProtocolEncoder throw java.lang.NullPointerException

chywwq opened this issue · comments

在DefaultProviderProcessor中doHandleException是,对JResponsePayload没有初始化outputBuf,导致LowCopyProtocolEncoder在encode是,报NullPointerException,具体代码行:
ByteBuf byteBuf = (ByteBuf) response.outputBuf().backingObject();

Exception:

15:30:53.860 [jupiter.acceptor.worker-2-4] WARN o.j.r.p.p.DefaultProviderProcessor - Service error message sent failed: [id: 0xbce01912, L:/127.0.0.1:18090 - R:/127.0.0.1:53846], io.netty.handler.codec.EncoderException: java.lang.NullPointerException
at org.jupiter.transport.netty.handler.LowCopyProtocolEncoder.write(LowCopyProtocolEncoder.java:75)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730)
at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38)
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1081)
at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1128)
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1070)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasksFrom(SingleThreadEventExecutor.java:380)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:355)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:454)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at org.jupiter.transport.netty.handler.LowCopyProtocolEncoder.doEncodeResponse(LowCopyProtocolEncoder.java:118)
at org.jupiter.transport.netty.handler.LowCopyProtocolEncoder.encode(LowCopyProtocolEncoder.java:87)
at org.jupiter.transport.netty.handler.LowCopyProtocolEncoder.write(LowCopyProtocolEncoder.java:66)
... 14 more

@chywwq 非常感谢指出bug, 已修复, 稍晚点就可以在maven仓库下载到最新版本: v1.2.23