Jason Dillaman created QPID-4262: ------------------------------------ Summary: C++ broker crashes due to priority queue corruption Key: QPID-4262 URL: https://issues.apache.org/jira/browse/QPID-4262 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Jason Dillaman
When re-routing messages from a priority queue (via the queue's QMF purge method) back to the same queue, the PriorityQueue's "messages" deque will become out-of-sync with the state of its "fifo" MessageDeque. Since the "messages" deque contains pointers into the "fifo" deque, this will lead to a broker crash as the pointers are no longer valid. This issue occurs because "MessageDequeue::index()" will return index zero for messages that are sequenced prior the start of the deque. Steps to reproduce: (1) Create a priority queue (2) Add several messages to the queue (3) Issue a purge on the queue such that the messages return to the same queue (4) Observe that the "messages" collection within the queue's PriorityQueue collection does not match its corresponding "fifo" collection. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org