You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Elias Karakoulakis (JIRA)" <ji...@apache.org> on 2012/12/23 19:08:12 UTC

[jira] [Commented] (THRIFT-1804) Binary protocol corruption in ARM compilation

    [ https://issues.apache.org/jira/browse/THRIFT-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13539065#comment-13539065 ] 

Elias Karakoulakis commented on THRIFT-1804:
--------------------------------------------

Ruby version seems irrelevant, test fails for both
1) old-stable 1.8.7:
{noformat}
root@stratus:~/thrift-0.9.0# ruby --version
ruby 1.8.7 (2010-08-16 patchlevel 302) [arm-linux-eabi]
{noformat}

2) and on latest stable 1.9.3 :
{noformat}
armleg:~# ruby --version
ruby 1.9.3p327 (2012-11-10 revision 37606) [armv5tejl-linux-eabi]
{noformat}

Thrift 0.9.0 builds fine on my laptop (Linux Mint 12/Debian x86) with the bleeding-edge Ruby 2.0.0 (trunk 38563)
                
> 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