You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Geoff Reedy (JIRA)" <ji...@apache.org> on 2015/08/28 16:38:46 UTC
[jira] [Created] (TINKERPOP3-816) Gryo deserialization of error
response with null message causes NPE and protocol desync
Geoff Reedy created TINKERPOP3-816:
--------------------------------------
Summary: Gryo deserialization of error response with null message causes NPE and protocol desync
Key: TINKERPOP3-816
URL: https://issues.apache.org/jira/browse/TINKERPOP3-816
Project: TinkerPop 3
Issue Type: Bug
Components: driver
Affects Versions: 3.0.0-incubating
Reporter: Geoff Reedy
Assignee: stephen mallette
The issue can be easily reproduced by submitting a query that throws an exception with a null message, e.g.
:> throw new RuntimeException()
This results in a NPE on the client end in GryoMessageSerializerV1d0.dese
rializeResponse
The offending code is the invocation of .intern() on statusMsg on [line 208|https://github.com/apache/incubator-tinkerpop/blob/d33fb15fd5d70e90b81edf16aba489b8eb8f7730/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/GryoMessageSerializerV1d0.java#L208]
There are several ways to fix this problem, but I don't see the utility behind interning the message so I suggest removing the call to intern.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)