[ 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)