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

Reply via email to