thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Created] (THRIFT-4225) Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail
Date Wed, 07 Jun 2017 19:03:18 GMT
Paul Taylor created THRIFT-4225:
-----------------------------------

             Summary: Error handling malformed arguments leaks memory, corrupts transport
buffers causing next RPC to fail
                 Key: THRIFT-4225
                 URL: https://issues.apache.org/jira/browse/THRIFT-4225
             Project: Thrift
          Issue Type: Bug
          Components: Node.js - Compiler, Node.js - Library
    Affects Versions: 0.10.0
            Reporter: Paul Taylor


This issue is related to [THRIFT-2997|https://issues.apache.org/jira/browse/THRIFT-2997].
I have a workaround [here|https://github.com/graphistry/rxjs-mapd/blob/bf88da285ebc32ee6528f596919c626efccaf7ee/src/client/bind.ts#L85],
but it's only possible because I'm wrapping all thrift client calls anyway.

If the arguments to a thrift client method are malformed, the transport throws an error while
writing the arguments to its buffers. Unfortunately, the buffers aren't reset (as would happen
in flush), and the next RPC call will fail if any values were already written. Additionally,
the callback isn't dereferenced from the client's _reqs table, leaking memory.

>From what I understand, this problem would need to be addressed in both the node lib and
compiler.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message