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

Wade Simmons commented on THRIFT-2194:
--------------------------------------

This fix was accidentally reverted by THRIFT-2205.

I have restored it and fixed a few more issues in this patch: THRIFT-2591.

> Node: Not actually prepending residual data in TFramedTransport.receiver
> ------------------------------------------------------------------------
>
>                 Key: THRIFT-2194
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2194
>             Project: Thrift
>          Issue Type: Bug
>          Components: Node.js - Library
>    Affects Versions: 0.9
>            Reporter: Justin Gallardo
>             Fix For: 0.9.2
>
>         Attachments: THRIFT-2194.patch
>
>
> I am seeing an issue where we are creating a Buffer of larger than 1GB so v8 
> crashes with a fatal exception:
> FATAL ERROR: v8::Object::SetIndexedPropertiesToExternalArrayData() length 
> exceeds max acceptable value.
> I believe this is due to the fact that we don't actually copy the residual 
> data into the data buffer before reading it, so when we go to create the new 
> frame buffer, we are using the result of binary.readI32(data, 0). Because the 
> residual data isn't there, we create an overly large int and cause the crash.
> I'm seeing this bug in node-thrift 0.9.0, but the bug seems like it would 
> still exist in the latest version. I'm also using node 0.6.17.
> This looks like it could be related to 
> https://issues.apache.org/jira/browse/THRIFT-1754, but I haven't looked into 
> that too much.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to