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)