[ https://issues.apache.org/jira/browse/TINKERPOP-2005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16563824#comment-16563824 ]
ASF GitHub Bot commented on TINKERPOP-2005: ------------------------------------------- Github user spmallette commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/899#discussion_r206571425 --- Diff: gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java --- @@ -252,15 +264,29 @@ protected boolean isForceFlushed(final ChannelHandlerContext ctx, final RequestM /** * @deprecated As of release 3.2.2, replaced by {@link #makeFrame(ChannelHandlerContext, RequestMessage, MessageSerializer, boolean, List, ResponseStatusCode, Map)}. */ + @Deprecated protected static Frame makeFrame(final ChannelHandlerContext ctx, final RequestMessage msg, final MessageSerializer serializer, final boolean useBinary, final List<Object> aggregate, final ResponseStatusCode code) throws Exception { return makeFrame(ctx, msg, serializer, useBinary, aggregate, code, Collections.emptyMap()); } + /** + * Caution: {@link #makeFrame(ResponseHandlerContext, RequestMessage, MessageSerializer, boolean, List, ResponseStatusCode, Map)} + * should be used instead of this method whenever a {@link ResponseHandlerContext} is available. + */ protected static Frame makeFrame(final ChannelHandlerContext ctx, final RequestMessage msg, --- End diff -- ok - i' mostly just thinking out loud. hard to predict exactly how folks are using this or will use this. > Intermittent NullPointerException in response handling > ------------------------------------------------------ > > Key: TINKERPOP-2005 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2005 > Project: TinkerPop > Issue Type: Improvement > Components: driver > Affects Versions: 3.2.9 > Reporter: stephen mallette > Priority: Minor > > This stacktrace was reported to me: > {code} > 06:11:01 2018-07-05 13:11:01,706 ERROR 13:11:01,618 Could not process the > response > 06:11:01 java.lang.NullPointerException: null > 06:11:01 at > org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.lambda$channelRead0$39(Handler.java:220) > 06:11:01 at java.util.ArrayList.forEach(ArrayList.java:1257) > 06:11:01 at > org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:220) > 06:11:01 at > org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197) > 06:11:01 at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) > 06:11:01 at > org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123) > 06:11:01 at > org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67) > 06:11:01 at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) > 06:11:01 at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) > 06:11:01 at > org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94) > 06:11:01 at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) > 06:11:01 at > io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) > 06:11:01 at > io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) > 06:11:01 at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) > 06:11:01 at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) > 06:11:01 at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) > 06:11:01 at > io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) > 06:11:01 at > io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644) > 06:11:01 at > io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579) > 06:11:01 at > io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496) > 06:11:01 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458) > 06:11:01 at > io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) > 06:11:01 at java.lang.Thread.run(Thread.java:748) > {code} > Some initial investigation seems to indicate that it is intermittent and > likely some form of timing issue. Will probably be hard to recreate. Hesitant > to just make the problem go away without understanding why it is happening. -- This message was sent by Atlassian JIRA (v7.6.3#76005)