When you work with the rpc feature of rabbot, you may be tempted to use the intermediate callback and more option.
If you do that (or plan to do that) be prepared to have a bunch of unacked messages in your queue.
There seems to be some weirdness that invalidates previously performed acks. It's a bit hard to explain, please have a look at the attached examples.
A workaround would be to use the noAck: true option upon consuming things. Of course, this may break your workflow so be vary.