Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-4259

HA broker crash during queue reroute

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.18
    • Fix Version/s: 0.19
    • Component/s: C++ Broker
    • Labels:
      None

      Description

      Broker will crash if a priority queue contains deleted messages with NULL payloads (i.e. HA message padding) when a reroute is performed. PriorityQueue::removeIf is missing a guard to only include available messages for the reroute – other classes derived from Messages have the guard.

      Backtrace:
      #0 0x00000036f42091c0 in pthread_mutex_lock () from /lib64/libpthread.so.0
      #1 0x00007f8d9d58297a in qpid::sys::Mutex::lock (this=<value optimized out>) at ../include/qpid/sys/posix/Mutex.h:116
      #2 0x00007f8d9d5fbdaa in ScopedLock (this=0x0) at ../include/qpid/sys/Mutex.h:33
      #3 qpid::broker::Message::clearTrace (this=0x0) at qpid/broker/Message.cpp:389
      #4 0x00007f8d9d61beab in qpid::broker::Queue::purge (this=0x7f8d940111a0, purge_request=<value optimized out>, dest=..., filter=<value optimized out>) at qpid/broker/Queue.

        Attachments

        1. qpid-4259.patch
          0.7 kB
          Jason Dillaman

          Activity

            People

            • Assignee:
              aconway Alan Conway
              Reporter:
              dillaman Jason Dillaman
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: