[rabbitmq-discuss] Frame Errors

Matthias Radestock matthias at lshift.net
Mon Oct 12 23:24:25 BST 2009


Mark,

Mark Nutter wrote:
> I'm using the Java client. I have an 
> app that basically takes the Twitter firehose, throws every link it gets 
> into an exchange, and that exchange throws the links to different bins 
> depending on what the links are and who they're from. So the routing 
> keys are typically [twitter_user_id].[link] (e.g. 
> 1022101.http://google.com). Everything has been running wonderfully, but 
> I recently noticed that rabbitMQ has been throwing frame errors every 
> now and then. I have a sneaking suspicion that this is related to 
> unicode characters in certain tweets (usually foreign language tweets). 
> Would the fact that it's trying to run a binding check on an extremely 
> long key be the cause for these errors? If not, what else might be the 
> issue? Here's the error report for one of the crashes: =CRASH REPORT==== 
> 6-Oct-2009::02:13:25 === crasher: pid: <0.1309.0> registered_name: [] 
> error_info: {amqp,frame_error, "cannot decode 
> <<0,1,9,109,97,105,110,116,114,....(this goes on forever, truncated for 
> sanity's sake)>>", 'basic.publish'}

The server knows nothing about unicode; it just matches routing keys as 
bitstrings.

How long do the routing keys get? The protocol limits them to 255 bytes. 
That's not enforced by the Java client codec though, so if you supply a 
routing key longer than that it will produce a malformed frame. I will 
raise a bug to add some checks.


Regards,

Matthias.




More information about the rabbitmq-discuss mailing list