+++ This bug was initially created as a clone of Bug #1088003 +++ 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: --- Additional comment from Gordon Sim on 2014-04-15 15:52:29 EDT --- Fix committed upstream: https://svn.apache.org/r1587710
Created attachment 894740 [details] patch to make interleaving more likely (by sleeping in appropriate place)
Tested on RHEL5/6/7, this issue has been fixed. The test was running for a couple of days without triggering the issue, whereas on the affected version it was reliably reproducible in 2-3 hours tops. Packages used for testing: python-qpid-0.18-11 python-qpid-qmf-0.18-23 qpid-cpp-0.18-23 qpid-qmf-0.18-23 qpid-tools-0.18-10 -> VERIFIED
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/RHBA-2014-0832.html