Elias Karakoulakis created THRIFT-1804:
------------------------------------------
Summary: Binary protocol corruption in ARM compilation
Key: THRIFT-1804
URL: https://issues.apache.org/jira/browse/THRIFT-1804
Project: Thrift
Issue Type: Bug
Components: Build Process
Affects Versions: 0.9
Environment: - Debian/ARM Squeeze 6.0.6 native armv5te
- Debian/ARM Squeeze 6.0.6 emulated armvtejl
Reporter: Elias Karakoulakis
These compilation tests fail when compiling for ARM:
1) BinaryProtocolAccelerated it should behave like a binary protocol should
read a byte
Failure/Error: @prot.read_byte.should == i
expected: -128
got: 128 (using ==)
Shared Example Group: "a binary protocol" called from
./spec/binary_protocol_accelerated_spec.rb:28
# ./spec/binary_protocol_spec_shared.rb:291:in `block (3 levels) in <top
(required)>'
# ./spec/binary_protocol_spec_shared.rb:289:in `each'
# ./spec/binary_protocol_spec_shared.rb:289:in `block (2 levels) in <top
(required)>'
2) BinaryProtocolAccelerated it should behave like a binary protocol should
perform a complete rpc with a struct return type
Failure/Error: result.should == Fixtures::COMPACT_PROTOCOL_TEST_STRUCT
expected: <CompactProtoTestStruct ... byte_list:[-127, -1, 0, 1, 127],
....
got: <CompactProtoTestStruct ... byte_list:[129, 255, 0, 1, 127],
... (using ==)
(***) only byte_list gets corrupted
Shared Example Group: "a binary protocol" called from
./spec/binary_protocol_accelerated_spec.rb:28
# ./spec/binary_protocol_spec_shared.rb:375:in `block (3 levels) in <top
(required)>'
# ./spec/binary_protocol_spec_shared.rb:406:in `call'
# ./spec/binary_protocol_spec_shared.rb:406:in `srv_test'
# ./spec/binary_protocol_spec_shared.rb:370:in `block (2 levels) in <top
(required)>'
3) Thrift::CompactProtocol should encode and decode naked primitives correctly
Failure/Error: read_back.should == value
expected: -127
got: 129 (using ==)
# ./spec/compact_protocol_spec.rb:45:in `block (4 levels) in <top
(required)>'
# ./spec/compact_protocol_spec.rb:37:in `each'
# ./spec/compact_protocol_spec.rb:37:in `block (3 levels) in <top
(required)>'
# ./spec/compact_protocol_spec.rb:36:in `each_pair'
# ./spec/compact_protocol_spec.rb:36:in `block (2 levels) in <top
(required)>'
4) Thrift::CompactProtocol should encode and decode primitives in fields
correctly
Failure/Error: read_back.should == value
expected: -127
got: 129 (using ==)
# ./spec/compact_protocol_spec.rb:68:in `block (4 levels) in <top
(required)>'
# ./spec/compact_protocol_spec.rb:55:in `each'
# ./spec/compact_protocol_spec.rb:55:in `block (3 levels) in <top
(required)>'
# ./spec/compact_protocol_spec.rb:51:in `each_pair'
# ./spec/compact_protocol_spec.rb:51:in `block (2 levels) in <top
(required)>'
Finished in 5.87 seconds
364 examples, 4 failures, 1 pending
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira