[rabbitmq-discuss] problems with amqpcpp and rabbit 2.0-2.4.1
David Wragg
david at rabbitmq.com
Fri Apr 29 02:53:09 BST 2011
Hi David,
David Hawthorne <dsrthorne at gmail.com> writes:
> On Apr 28, 2011, at 2:48 PM, David Hawthorne wrote:
>
>> Here's another problem, this time using amqpcpp with 2.4.1:
>>
>> dhawth at u16$ ./example_get
>> server connection error 504, message: CHANNEL_ERROR - unexpected method in connection state running
>>
>> dhawth at u16$ ./example_consume
>> server connection error 504, message: CHANNEL_ERROR - unexpected method in connection state running
This error suggests that you are trying to use channel number 0 (which
has a special role in AMQP) for general methods.
> [...]
> from my test program:
>
> 0 [0x7f1033a7f750] DEBUG AMQP null - Making new connection to amqp server
> 2 [0x7f1033a7f750] DEBUG AMQP null - Logging into amqp server
> 5 [0x7f1033a7f750] DEBUG main null - creating queue foobar
> 5 [0x7f1033a7f750] DEBUG AMQP null - creating queue with name foobar
> 5 [0x7f1033a7f750] DEBUG AMQPQueue null - constructing new queue with
> channelNum 0 and name foobar
And this line suggests the same thing.
But looking at the amqpcpp code on github, I don't see how that could
happen. AMQP::init sets channelNumber to 0, and AMQP::createQueue
increments it. Are you using amqpcpp from github without modification
(other than adding the logging)?
Alexandre: By the way, the channelNumber allocation logic in amqpcpp
looks wrong to me. But it shouldn't affect the examples where only a
single channel is used, so I don't think that's the cause of David's
problem.
David
--
David Wragg
Staff Engineer, RabbitMQ
VMware, Inc.
More information about the rabbitmq-discuss
mailing list