[ https://issues.apache.org/jira/browse/TINKERPOP-2192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17036233#comment-17036233 ]
Florian Hockmann edited comment on TINKERPOP-2192 at 2/13/20 1:50 PM: ---------------------------------------------------------------------- No, not really, but this should really be a simple fix. So, if you want to contribute, then this could be a good ticket to get started. edit: Didn't see Stephen's comment yet when I wrote this. was (Author: florian hockmann): No, not really, but this should really be a simple fix. So, if you want to contribute, then this could be a good ticket to get started. > 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)