[rabbitmq-discuss] Strange error report - any ideas anyone?
Tony Garnock-Jones
tonyg at lshift.net
Fri Feb 22 13:04:43 GMT 2008
Hi Michael,
Michael Arnoldus wrote:
> Yesterday I had avery weird failure on one of components communicating
> on AMQP. In the rabbit-log we have
> =INFO REPORT==== 21-Feb-2008::15:20:09 === Syntax error collecting
> method content: {amqp,frame_error,none}
> =INFO REPORT==== 21-Feb-2008::15:20:09 === Sending exception: Channel 4,
> Reason {amqp,syntax_error,'basic.publish'}
In the 1.2.0 codebase, this is caused by either
- a non-content-header frame arriving, when a content-header is
expected; or,
- a content-header frame arriving, as expected, but with a class ID
that doesn't match the class of the preceding method frame; or
- a non-content-body frame arriving, when a content-body is expected
A likely cause of this is sharing of a single Channel object between
multiple threads without sufficient mutual-exclusion. A publish, with
associated content, is ending up being interleaved with other frames on
the same channel. Could this, a Channel shared between threads, be
what's happening?
Just as an aside, that particular piece of code has been changed in our
CVS HEAD a little, so the precise error report will be a little
different for that case in future. The changes in that code are for
bringing the error reporting closer into line with the definitions of
frame-error, syntax-error and command-invalid in the specification.
Regards,
Tony
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg at lshift.net
More information about the rabbitmq-discuss
mailing list