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)