[rabbitmq-discuss] Rabbitmq-c Help
david at rabbitmq.com
Tue Sep 21 23:10:32 BST 2010
Sorry for the delay in responding.
Pieter de Zwart <pdezwart at rubiconproject.com> writes:
> I need some help with rabbitmq-c. I inherited the PHP extension code base,
> so I am a little lost. I pulled in RabbitMQ 2.1, along with the tip of
> rabbitmq-c and rabbitmq-codegen. Everything compiles just fine, but when I
> try to instantiate a new connection in the PHP extension, I get:
> localhost:~/src/pecl/amqp/trunk$ php -f tests/test.php
> Expected 0x000A000A method frame on channel 0, got frame on channel 19793
> This is the stacktrace:
> #0 0x009f4416 in __kernel_vsyscall ()
> #1 0x00248d71 in raise (sig=6) at
> #2 0x0024a64a in abort () at abort.c:92
> #3 0x00137640 in amqp_simple_wait_method (state=0xa1604c0,
> expected_channel=0, expected_method=655370, output=0xbfe31b20) at
> #4 0x001379fc in amqp_login_inner (state=0xa1604c0, vhost=0xa12d70c "/",
> channel_max=0, frame_max=131072, heartbeat=0,
> sasl_method=AMQP_SASL_METHOD_PLAIN) at amqp_socket.c:373
What's happening is that the C client is proposing a version of AMQP,
and the server is rejecting it. I can't tell more that that, because
the C client doesn't handle this version mismatch situation well.
But the versions of rabbitmq-c, rabbitmq-codegen and rabbitmq-server you
describe all implement AMQP 0-9-1, so how that can be happening is a bit
of a mystery.
My guess is that you are actually pointing the current C client at an
old (pre-2.0) version of rabbitmq-server somehow. Is that possible?
Please double check and let me know.
Staff Engineer, RabbitMQ
SpringSource, a division of VMware
More information about the rabbitmq-discuss