Florian Hockmann created TINKERPOP-2192:
-------------------------------------------

             Summary: 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


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
(v7.6.3#76005)

Reply via email to