Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-19277

ep-engine: Benign data race on ExecutorThread::waketime

    XMLWordPrintable

Details

    • Untriaged
    • Unknown

    Description

      As detected by ThreadSanitizer.

      This one looks benign - we only perform the dirty read when calculating the %s:waketime stat which is not used by anyone apart from end-users.

      WARNING: ThreadSanitizer: data race (pid=41666)
        Read of size 8 at 0x7d4400008370 by main thread (mutexes: write M21616):
          #0 ExecutorThread::getWaketime() /home/daver/repos/couchbase/server/ep-engine/src/executorthread.h:120 (ep.so+0x0000001cac0e)
          #1 addWorkerStats(char const*, ExecutorThread*, void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/daver/repos/couchbase/server/ep-engine/src/executorpool.cc:692 (ep.so+0x0000001b6f06)
          #2 ExecutorPool::doWorkerStat(EventuallyPersistentEngine*, void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/daver/repos/couchbase/server/ep-engine/src/executorpool.cc:706 (ep.so+0x0000001b6734)
          #3 EventuallyPersistentEngine::doDispatcherStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/daver/repos/couchbase/server/ep-engine/src/ep_engine.cc:4139 (ep.so+0x00000015223e)
          #4 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /home/daver/repos/couchbase/server/ep-engine/src/ep_engine.cc:4375 (ep.so+0x000000155336)
       
        Previous write of size 8 at 0x7d4400008370 by thread T6 (mutexes: write M14985):
          #0 TaskQueue::_fetchNextTask(ExecutorThread&, bool) /home/daver/repos/couchbase/server/ep-engine/src/taskqueue.cc:125 (ep.so+0x00000025b3fd)
          #1 TaskQueue::fetchNextTask(ExecutorThread&, bool) /home/daver/repos/couchbase/server/ep-engine/src/taskqueue.cc:161 (ep.so+0x00000025bfcf)
          #2 ExecutorPool::_nextTask(ExecutorThread&, unsigned char) /home/daver/repos/couchbase/server/ep-engine/src/executorpool.cc:217 (ep.so+0x0000001afc67)
          #3 ExecutorPool::nextTask(ExecutorThread&, unsigned char) /home/daver/repos/couchbase/server/ep-engine/src/executorpool.cc:232 (ep.so+0x0000001afe3f)
          #4 ExecutorThread::run() /home/daver/repos/couchbase/server/ep-
      

      Note: already fixed in watson: http://review.couchbase.org/56307

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              drigby Dave Rigby (Inactive)
              drigby Dave Rigby (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty