Description of problem: Heartbeat controls are sent on a separate 'track' from the message transfer command and accompanying header and content segments. The OpDecoder is fed the segments as they occur, but does not account for the possibility of interleaving of assemblies on different tracks. Version-Release number of selected component (if applicable): Present in qpid 0.26 How reproducible: Quite hard by normal means. In theory a python receiver with heartbeats set, getting a steady flow of messages over a long time would eventually hit this. For the purposes of testing fixes I introduced a sleep into the broker to artificially increase the chance of the interleaving. Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Fix committed upstream: https://svn.apache.org/r1587710
Created attachment 894739 [details] modification to broker to artificially make interleaving more likely
verified on python-qpid-0.22-16
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2014-1296.html