Value 5718813258875302619 deserialized as 5718813261021839359
Unfortunately we don't have enough time to make good patch right now. We partially fix thrift code to meet our needs at work. But we can give full explain of this error and way how to fix it. We planning release full patch some time later but it would be nice if this error will be fixed in 0.9
do you have a patch? see http://thrift.apache.org/docs/HowToContribute
Would be greate to have a better test/test.sh based on test/ThriftTest.thrift
Actually this is bug in thrift php code. There is wrong converting from float to int64 on 32-bit systems.
The tarball contains generated code by Thrift 0.8 and server implemented on Python.
hello.php - client code
This code shows described error.
To server sent value 5718813258875302619, but server received value 5718813258875302912
On 32-bit architecture, in php client, value 5718813258875302619 threated not as int64, but as float. Then this value wrongly converted to byte array before sended to net. Java server recieved value 5718813261021839359.