thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Forbis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4225) Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail
Date Fri, 22 Jun 2018 03:21:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16519946#comment-16519946
] 

Brian Forbis commented on THRIFT-4225:
--------------------------------------

THRIFT-4564 fixes the issue with the corrupted output buffer, but not the issue you describe
where the stored callback can cause memory leaks. That's a good point, that if we know the
callback would never be called due to a serialization error then we should remove it from
the _reqs registry.

> 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
>            Priority: Major
>
> 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
(v7.6.3#76005)

Mime
View raw message