You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "stephen mallette (JIRA)" <ji...@apache.org> on 2015/09/11 16:22:45 UTC

[jira] [Updated] (TINKERPOP3-816) Gryo deserialization of error response with null message causes NPE and protocol desync

     [ https://issues.apache.org/jira/browse/TINKERPOP3-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stephen mallette updated TINKERPOP3-816:
----------------------------------------
    Fix Version/s: 3.0.2-incubating

> 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.1-incubating
>            Reporter: Geoff Reedy
>            Assignee: stephen mallette
>             Fix For: 3.0.2-incubating
>
>
> 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)