You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Dzmitry L (Jira)" <ji...@apache.org> on 2020/02/12 15:18:00 UTC
[jira] [Commented] (TINKERPOP-2192)
Gremlin.Net.Driver.Connection.Parse throws a NullReferenceException
[ https://issues.apache.org/jira/browse/TINKERPOP-2192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17035437#comment-17035437 ]
Dzmitry L commented on TINKERPOP-2192:
--------------------------------------
Hi, any updates here? From time to time I'm facing same exception.
v 3.4.4
{code:java}
System.NullReferenceException: Object reference not set to an instance of an object. at Gremlin.Net.Driver.Connection.Parse(Byte[] received) at Gremlin.Net.Driver.Connection.ReceiveMessagesAsync() at Gremlin.Net.Driver.ProxyConnection.SubmitAsync[T](RequestMessage requestMessage) at Gremlin.Net.Driver.GremlinClient.SubmitAsync[T](RequestMessage requestMessage) at Gremlin.Net.Driver.GremlinClientExtensions.SubmitAsync[T](IGremlinClient gremlinClient, String requestScript, Dictionary`2 bindings){code}
> Gremlin.Net.Driver.Connection.Parse throws a NullReferenceException
> -------------------------------------------------------------------
>
> Key: TINKERPOP-2192
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2192
> Project: TinkerPop
> Issue Type: Bug
> Components: dotnet
> Affects Versions: 3.4.1
> Reporter: Florian Hockmann
> Priority: Minor
>
> The Parse method has only three objects on which we call methods of which two are {{readonly}}. So the problem is most likely in the error handling:
> {code}
> if (_callbackByRequestId.TryRemove(receivedMsg.RequestId, out var responseHandler))
> {
> responseHandler.HandleFailure(e);
> }
> {code}
> Here, {{responseHandler}} can be null if the callback handler for that request id was not found. So we just need a null check. (We can't notify anyone about a failure any way in this case.)
> Stack trace:
> {code}
> System.NullReferenceException: Object reference not set to an instance of an object.
> at Gremlin.Net.Driver.Connection.Parse(Byte[] received)
> at Gremlin.Net.Driver.Connection.ReceiveMessagesAsync()
> at Gremlin.Net.Driver.ProxyConnection.SubmitAsync[T](RequestMessage requestMessage)
> at Gremlin.Net.Driver.GremlinClient.SubmitAsync[T](RequestMessage requestMessage)
> at Gremlin.Net.Driver.Remote.DriverRemoteConnection.SubmitBytecodeAsync(Guid requestid, Bytecode bytecode)
> at Gremlin.Net.Driver.Remote.DriverRemoteConnection.SubmitAsync[S,E](Bytecode bytecode)
> at Gremlin.Net.Process.Remote.RemoteStrategy.ApplyAsync[S,E](ITraversal`2 traversal)
> at Gremlin.Net.Process.Traversal.DefaultTraversal`2.ApplyStrategiesAsync()
> at Gremlin.Net.Process.Traversal.DefaultTraversal`2.Promise[TReturn](Func`2 callback)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)