[rabbitmq-discuss] Stuck waiting for frame during amqp_basic_qos?

David Wragg david at rabbitmq.com
Wed Nov 9 14:56:23 GMT 2011

Ignore the trace in my last mail.  On closer inspection, I see that my
code was doing a basic.qos on channel 0.

With that corrected:

1320850428494: <Tracer-8> ch#1 -> {#method<basic.ack>(delivery-tag=666, multiple=false),null,""}
1320850428494: <Tracer-8> ch#1 -> {#method<basic.qos>(prefetch-size=0, prefetch-count=1, global=false),null,""}
1320850428533: <Tracer-8> ch#1 <- {#method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 666, class-id=60, method-id=80),null,""}

- My client program acks with a non-existent delivery tag.

- Before the server responds to that, the client sends the basic.qos

- Because of the delivery tag issue, the server sends a channel.close to
  signal the channel exception.

In my client program, the amqp_basic_qos call returns NULL when the
channel.close is received, to signal the error.  The details of that
error are available by calling amqp_get_rpc_reply on the connection.

David Wragg
Staff Engineer, RabbitMQ
VMware, Inc.

More information about the rabbitmq-discuss mailing list