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

Race condition in libevent poll implementation causes crash

    XMLWordPrintableJSON

Details

    • 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

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

              Dates

                Created:
                Updated:
                Resolved: