[rabbitmq-discuss] 505 UNEXPECTED_FRAME when publishing in a consume handler using pika
Simon MacMullen
simon at rabbitmq.com
Mon Dec 12 11:27:54 GMT 2011
I'm not a Pika expert, but that error message is triggered by wrongly
interleaved frames on a *single* channel - the most likely cause is
using a single channel from multiple threads in a client where channels
are not threadsafe (I suspect Pika is such a client).
Cheers, Simon
On 11/12/11 13:11, Brian Lalor wrote:
> Good morning, all. I opened this issue[1] on GitHub for Pika, but I'm not sure if it's a problem with pika or my code.
>
> I'm trying to implement a consumer that also publishes messages using pika 0.9.5 running against RabbitMQ 2.7.0. I've created some sample code[2] that attempts to put a more user-friendly layer on top of the basic event-drivenSelectConnection, but it's still very simple. :-) I'm doing the following:
>
> • connect to the server
> • create a channel for subscribing to Exchange A
> • create a channel for subscribing to Exchange B
> • create a channel for publishing received messages to Exchange C
>
> This will start and run for a short period of time, but eventually all three channels will close abruptly with:
>
> [505] UNEXPECTED_FRAME - expected content header for class 60, got non content header frame instead
>
> The problem doesn't happen if I don't publish a message, so I that seems to be the key. Is it illegal to publish a message while in the callback handler for consuming another message? If so, what's the best way to handle this? I'm trying to minimize the number of connections I have to make to the server, as that seems to be the point of multiplexing channels over one connection.
>
> Thanks,
> Brian
>
> [1]: https://github.com/pika/pika/issues/112
> [2]: https://gist.github.com/7f9ebb6455d2677a1b66
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
--
Simon MacMullen
RabbitMQ, VMware
More information about the rabbitmq-discuss
mailing list