You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/03/04 19:41: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=17051563#comment-17051563 ] 

ASF GitHub Bot commented on TINKERPOP-2192:
-------------------------------------------

dzmitry-lahoda commented on pull request #1258: fix for null ref of TINKERPOP-2192
URL: https://github.com/apache/tinkerpop/pull/1258
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> 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)