[ https://issues.apache.org/jira/browse/THRIFT-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Elias Karakoulakis updated THRIFT-1804: --------------------------------------- Component/s: Ruby - Library > Binary+compact protocol byte corruption in Ruby library (ARM architecture) > -------------------------------------------------------------------------- > > Key: THRIFT-1804 > URL: https://issues.apache.org/jira/browse/THRIFT-1804 > Project: Thrift > Issue Type: Bug > Components: Build Process, Ruby - Library > Affects Versions: 0.9 > Environment: - Debian/ARM Squeeze 6.0.6 native armv5te, compiler: gcc > (Debian 4.4.5-8) 4.4.5 > QEMU emulated debian hosts: > - Debian Squeeze 6.0.6 emulated armvtejl, compiler: gcc (Debian 4.4.5-8) > - Debian Sid 7.0 on QEMU ARM versatilepb, compiler: gcc (Debian 4.6.3-14) > 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