If the client fails over when AMQP 0-8..0-91 is in use and the application is using a synchronous message receiver calling #receiveNoWait(), the application will always receive null. The defect is longstanding. It goes back at least until 0.22. Other synchronous receive calls and asynchronous message listeners are unaffected. The 0-10 path is unaffected too.
The problem is org.apache.qpid.client.AMQConnection#isFailingOver and org.apache.qpid.client.AMQProtocolHandler#startFailoverThread. The former assumes that the failover latch will be nullified after a successful failover but startFailoverThread does not organise for this.