Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-4711

Race condition in libevent poll implementation causes crash

    Details

    • Sprint:
      Mesosphere Sprint 29

      Description

      The issue first arose in MESOS-3271, but can be reproduced every time by using the mentioned environment and running:

      sudo ./bin/mesos-tests.sh --gtest_filter="MemoryPressureMesosTest.CGROUPS_ROOT_SlaveRecovery" --gtest_repeat=1000
      

      The problem can be traced back to libevent_poll.cpp. If the event is triggered and the the future associated with the event is discarded, the situation arises in which pollCallback() starts executing just early enough to finish before pollDiscard() executes. If that happens, pollCallback() deletes the poll object and pollDiscard() is left with a dangling pointer which crashes when it executes the line event_active(ev, EV_READ, 0);.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                arojas Alexander Rojas
                Reporter:
                arojas Alexander Rojas
                Shepherd:
                Joris Van Remoortere
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: