Radoslaw Gruchalski created THRIFT-2923: -------------------------------------------
Summary: JavaScript client assumes a message being written Key: THRIFT-2923 URL: https://issues.apache.org/jira/browse/THRIFT-2923 Project: Thrift Issue Type: Bug Components: JavaScript - Library Affects Versions: 0.9.2 Reporter: Radoslaw Gruchalski Priority: Minor I am working on a solution which uses Thrift directly, without embedded RPC framework, it's sending messages via UDP. Currently being integrated into Chrome Extension and I found a bug when doing the following: {noformat} var transport = new Thrift.TWebSocketTransport("http://dummy"); var protocol = new Thrift.Protocol( transport ); digest.write( protocol ); {noformat} The error is: {noformat} Cannot read property 'push' of undefined. {noformat} The reason for this behaviour is: digest.write calls protocol.writeStructBegin which uses this.tpos.push(this.tstack.length) in https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js#L778 but tpos and tstack aren't defined unless writeMessageBegin is called in https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js#L751. Expected behaviour: tstack and tpos should be defined in the Protocol "constructor", here: https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js#L687. -- This message was sent by Atlassian JIRA (v6.3.4#6332)