[rabbitmq-discuss] rabbitmq-c corrupt content frame from ARM client

Marco Scoffier marco at metm.org
Sun Apr 6 08:16:09 BST 2014


Sure,

I dumped the 3 packets to a separate file. This is the binary data which 
you can open in wireshark:

http://metm.org/images/amqp_handshake_wireshark.log

Thanks for looking into this and happy to provide any additional tests,

Marco

On 04/06/2014 12:48 AM, Alan Antonuk wrote:
> Marco;
>
>  From the wireshark info, it sounds like the rabbitmq-c client is
> sending completely the wrong data. It should send a Connection.Start-Ok
> method and not a content-header frame (e.g., the frame type should be 1
> first few bytes of that frame should be: 0x01 {Method Frame}, 0x00, 0x00
> {Channel 0}, 0x00, 0x00 0xXX, 0xXX {Big Endian length of frame in bytes}
> ). I'm also not sure what to to think about the sent header length: that
> should be 8 bytes or 64 bits, I suspect thats a wireshark oddity though.
>
> The octets reported by the RabbitMQ server error message don't really
> make sense to me: I'm having trouble correlating what is reported vs
> what I think should be, even if the system is doing an incorrect
> byteswap. I'm not 100% sure we're clear of any unaligned access issues,
> but I would guess we'd be hitting bus-errors in that case, though I'm
> not quite sure
>
> Would you be willing to send me a filtered down wireshark log of the
> failed handshake?
>
> -Alan
>
>
> On Fri, Apr 4, 2014 at 6:38 PM, Marco Scoffier <marco at metm.org
> <mailto:marco at metm.org>> wrote:
>
>     Hello,
>
>     I apologize if this has been discussed before. I checked the
>     archives but did not find any mention of the issue.
>
>     I've compiled rabbitmq-c [1] for the arm architecture [2]  from and
>     am trying to send messages to a broker running on another machine
>     [3]. The rabbitmq-c examples run perfectly on the 64bit linux, same
>     code compiled for arm device and running there sends a corrupt packet.
>
>     [1] https://github.com/alanxz/__rabbitmq-c
>     <https://github.com/alanxz/rabbitmq-c>
>     [2] armv6 linaro toolchain
>     [3] linux 64bit rabbitmq-server ppa for ubuntu. running on 12.04
>
>     I'm a little stuck about how to debug further and am looking for
>     some pointers where to look in the code or what extra information I
>     can provide.
>
>     Wireshark shows three packets for the amqp_sendstring example
>
>     ARM device/Source = 192.168.1.117
>     64bit broker/Destination = 192.168.1.133
>
>     Source          Destination    protocol length info
>     --------------+---------------__+--------+------+------------
>     192.168.1.117   192.168.1.133   AMQP    74      Protocol-Header 9-1
>     192.168.1.133   192.168.1.117   AMQP    522     Connection.Start
>     192.168.1.117   192.168.1.133   AMQP    190     Content-Header
>
>     wireshark's amqp frame dissection shows an error on the 3rd
>     Content-Header packet:
>
>     Expert Info (Error/Protocol): Unknown header class 1290
>     Message: Unknown header class 1290
>     Severity level: Error
>     Group: Protocol
>
>     the rabbitmq-server on the linux machine provides this log message:
>
>     =ERROR REPORT==== 3-Apr-2014::15:05:35 ===
>     closing AMQP connection <0.380.0> (192.168.1.117:52890
>     <http://192.168.1.117:52890> -> 192.168.1.133:5672
>     <http://192.168.1.133:5672>):
>     {handshake_error,starting,0,
>                       {amqp_error,frame_error,
>                                   "type 0, first 16 octets =
>     <<5,10,0,11,0,0,0,80,98,112,__114,111,100,117,99,116>>...",
>                                   none}}
>
>     repeat that the same code compiled for 64bit linux same command
>     works as expected.
>
>     Thanks for any pointers,
>
>     Marco
>     _________________________________________________
>     rabbitmq-discuss mailing list
>     rabbitmq-discuss at lists.__rabbitmq.com
>     <mailto:rabbitmq-discuss at lists.rabbitmq.com>
>     https://lists.rabbitmq.com/__cgi-bin/mailman/listinfo/__rabbitmq-discuss
>     <https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
>
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>



More information about the rabbitmq-discuss mailing list